Closed zhang13690 closed 7 years ago
You need to restart your application
@lanmolsz, The purpose of spring-loaded is , we do not need to restart applications.
sorry,I can't express it in English
看你也是中国人,就直接用中文回你。
spring-loaded不是不支持@RequestMapping
注解。而是你可能不熟悉spring-mvc的初始化过程。所以我们先大致搞明白spring-mvc的初始化过程和路由逻辑,然后再来解释它为什么不工作就会很容易了。
对于程序来讲,你所有的类信息都可以看作程序的一些元数据,spring-mvc在启动的时候通过反射获取到这些元数据,并将其缓存成某种数据结构,而初始化操作只会在启动的时候执行一次,后续处理请求路由到你的业务方法都是通过取读取这个缓存的数据,反射调用。
很显然,你后面添加的@RequestMapping
并不会触发spring-mvc的初始化操作,那么新添加的代码无法生效也不足为奇了。
如何将新增的方法应用在程序中?其实wiki里面是提到过怎么做的?
你可以通过编写一个插件,实现org.springsource.loaded.ReloadEventProcessorPlugin
,并注册SpringLoadedPreProcessor.registerGlobalPlugin(plugin)
,你自定义编写插件会在spring-loaded重新加载时被调用。
@lanmolsz 感谢你细致的解答,小生佩服。
I used the SpringMVC framework. If I add a request method with the '@RequestMapping' annotaion, the spring-loaded dose not work.