在我们的一个bean中,我们正在内存中读取一些基于文件的数据。
最好是通过一个ApplicationContextListener (例如调用beans ()方法)来这样做,还是只在这个init()方法中添加一个@PostConstruct,这样容器就可以自动完成它了?
发布于 2013-08-07 14:27:33
您可以使用:
@PostConstructInitializingBean接口<bean class="your bean class" init-method="your init method"/>属性:init方法:在设置bean属性之后要调用的自定义初始化方法的名称。该方法必须没有参数,但可能引发任何异常。这是实现Spring的InitializingBean接口或用PostConstruct注释标记方法的替代方法。
它们是可选的:如果您的程序是完全带注释的,那么就选择注释,如果使用XML,则选择XML (我不喜欢混合,您不需要问自己是否用annot或xml实现了一个特性)
编辑:
InitializingBean或@PostConstruct:每次创建bean时都调用bean的生命周期(取决于范围)在您的情况下,使用上下文侦听器:
使用InitializingBean you:
在您的示例中,如果您使用的是没有延迟init的单例bean,并且在发生故障时不需要错误恢复,则根本没有区别。
https://stackoverflow.com/questions/18105875
复制相似问题