做了一些试验发现当工程修改的之后JRebel有的时候会没有“效果”:
1.重新往容器里面注入东西的时候,JRebel是没有用的,比如新加入如下代码:
@Autowired
private UserMapper userMapper;
原因:个人猜测JRebel只是更新了文件的字节码,Spring的容器已经初始化了,新加入的Bean得容器重启才会重新注入进去。
2.修改resource下面的东西的时候,JRebel是没有用的,这个场景就是mybatis的xml文件,并不是JRebel对修改xml不会重新生成,而是放的位置不对。
JRebel有效的情况是,xml放在java目录下,如下:

JRebel无效的情况是,xml放在resource目录下,如下:

本文介绍了在Java工程修改中JRebel的效果试验。试验发现,重新往容器注入东西时,因Spring容器已初始化,新Bean需重启容器才注入,JRebel无用;修改resource下的mybatis的xml文件时,若位置不对JRebel也无效,放在java目录下则有效。

1万+

被折叠的 条评论
为什么被折叠?



