java – 如何在Spring 4中通过注释设置默认bean init-method?
作者:互联网
我正在学习使用Spring 4 by Java注释,我无法找到如何将默认的init-method设置为属于特定配置的所有bean,而无需在所有clases中添加@PostContruct注释初始化方法,也不会使它们实现InitializeBean界面……我只是想做这样的事情:
<beans default-init-method="init">
<bean id="blogService" class="com.foo.DefaultBlogService">
</bean>
<bean id="anotherBean" class="com.foo.AnotherBean">
</bean>
</beans>
所以,我想通过Java注释做到这一点,我想在bean的配置容器上设置默认bean配置.那可能吗?问候
编辑:我真正想要做的是告诉spring默认在我在BeansConfigurations类中创建的所有bean上运行“initialize”方法.这意味着,在默认情况下,放置一些注释或确定所有包含的bean将运行此初始化方法的内容.但正如我之前所说,我不想触及bean类,我的意思是,我不想为每个bean类的每个初始化方法添加@PostConstructor注释,我不希望每个bean都实现InitializeBean接口或
解决方法:
您可以执行以下操作:
@Configuration
public class SomeConfig {
@Bean(initMethod = "initMethodName")
public SomeBeanClass someBeanClass() {
return new SomeBeanClass();
}
}
您将为要调用initMethodName的每个bean重复此操作.
你可以更进一步,实现meta-annotation之类的
@Bean(initMethod = "initMethodNAme")
public @interface MyBean {
}
并在SomeConfig中简单地使用@ MyBean而不是@Bean(initMethod =“initMethodName”)
标签:java,dependency-injection,spring,annotations,spring-4 来源: https://codeday.me/bug/20190519/1138095.html