使用Spring MVC在应用程序启动时执行Java类的最佳方法是什么?
答案 0 :(得分:63)
不一定是“最佳”方式。像往常一样,有很多方法可以做到这一点,“最好的”是最适合你项目的:
答案 1 :(得分:22)
假设您的上下文在启动时加载,请在Spring应用程序上下文中创建一个bean,并在XML配置中显式调出init方法(或实现Springs InitializingBean)。如果你启用了延迟加载,你需要确保这个bean不是懒惰的。
<bean name="starter" init-method="start" class="com.my.StarterBean" lazy="false" />
(请仔细检查文档中的参数)。
如果在启动时未加载上下文,则可以注册服务器上下文侦听器(Servlet API的一部分,而不是Spring)。
答案 2 :(得分:6)
您可以使用任一实现:
1)实现接口InitializingBean
。这种方法被授予加载所有bean然后调用afterPropertiesSet
方法。
@Override
public void afterPropertiesSet() throws Exception {
init();
}
2)使用JSR-250的注释@PostConstruct
。这种方法不会等待加载spring bean。
@PostConstruct
public void init() {
}