我在一次采访中被问到如何在Spring中进行项目部署时初始化bean?
答案 0 :(得分:0)
有几种选择:
你的bean可以实现InitializingBean接口,并且可以在afterPropertiesSet()方法内部完成初始化工作
您可以在bean类中添加一个方法,并使用@PostConstruct
您可以在bean类中添加方法并将其标记为init方法。使用xml config,bean定义如下所示:
<beans>
<bean id="myBean" class="..." init-method="init"/>
</beans>
并使用这样的Java配置:@Bean(initMethod="init")
public MyBean myBean() {
return new MyBean();
}
一个警告:所有这些初始化逻辑都是bean生命周期的一部分,这并不意味着它将在项目部署期间被调用。 但是,如果bean是单例bean,则默认情况下它是在spring上下文启动期间创建的。我想这就是项目部署的意思。