本人最近遇到一个难题,我们在对spring webflow做了扩展后, 需要在spring context初始化完成后对我们自己的bean做一些init的初始化操作实现方法。
实现思路, 我们想借助于spring context的自己的listener的生命周期方法ContextRefreshedEvent。这个event会在spring context初始化完成之后调用。我们可以在这个方法里调用我们自己的bean的init方法。
实现细节:
自定义一个公共接口 Initilization,所有想要在spring context初始化后被调用的bean都要实现这个接口:
public interface Initilization{ //需要在spring context初始化后调用的方法 public void init(); }
自定义实现spring context 的 ApplicationListener
import java.util.List; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.ApplicationEvent; import org.springframework.context.ApplicationListener; import org.springframework.context.event.ContextRefreshedEvent; @SuppressWarnings("rawtypes") public class PostContextInitilization implements ApplicationListener { @Autowired(required=false) List<Initilization> list; public List<Initilization> getList() { return list; } public void setList(List<Initilization> list) { this.list = list; } public void onApplicationEvent(ApplicationEvent event) { // TODO Auto-generated method stub if(list == null){ return; } if(event instanceof ContextRefreshedEvent){ for(Initilization initBean:list){ initBean.initAfterContextSetup(); } } } }
这样就可以实现spring context初始化后的处理逻辑的实现
相关推荐
Spring Bean创建初始化流程
本篇文章主要介绍了Spring 中如何控制2个bean中的初始化顺序,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
3、通过spring的xml bean配置或bean注解指定初始化方法,如下面实例的initMethod方法通过@bean注解指定。 销毁的时候实现的方法 1、通过java提供的@PreDestroy注释; 2、通过实现spring提供的DisposableBean接口,并...
初始化后可访问Spring管理的Bean
spring的初始化,可以让初学者了解soring的开发过程,让开发轻松进入开发大门。
下面小编就为大家带来一篇浅谈spring容器中bean的初始化。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
主要介绍了Spring Bean的初始化和销毁,结合实例形式详细分析了Spring Bean的初始化和销毁相关配置、使用方法及操作注意事项,需要的朋友可以参考下
spring-context-1.2.8.jar, spring-context-1.2.9.jar, spring-context-2.0-m2.jar, spring-context-2.0.1.jar, spring-context-2.0.2.jar, spring-context-2.0.4.jar, spring-context-2.0.6.jar, spring-context-...
Spring源码学习六:bean初始化1
来源于sofaboot
spring配置对象实例化后执行的方法,两种实现比对,通过InitializingBean接口,并实现arterPropertiesSet()方法;或者通过applicationContext.xml配置init-method属性
spring-boot-initscript, Spring Boot 项目的初始化脚本 Spring Boot init.d-脚本注意:在 Spring Boot 1.3中,有可能在打包的. jar 文件的前面注入正式的init.d 脚本。 指令在文档中找到了 这个脚本用于将一个...
利用Spring Context上下文创建自定义对象,学习Spring的IoC容器如何使用控制反转创建一个对象,了解Spring控制反转原理
包含翻译后的API文档:spring-context-5.2.15.RELEASE-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-context:5.2.15.RELEASE; 标签:springframework、spring、context、中文文档、...
开发工具 spring-context-4.3.6.RELEASE开发工具 spring-context-4.3.6.RELEASE开发工具 spring-context-4.3.6.RELEASE开发工具 spring-context-4.3.6.RELEASE开发工具 spring-context-4.3.6.RELEASE开发工具 spring...
NULL 博文链接:https://bijian1013.iteye.com/blog/2374256
包含翻译后的API文档:spring-context-support-1.0.10-javadoc-API文档-中文(简体)版.zip; Maven坐标:com.alibaba.spring:spring-context-support:1.0.10; 标签:spring、alibaba、context、support、jar包、java...
包含翻译后的API文档:spring-context-5.3.7-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.springframework:spring-context:5.3.7; 标签:springframework、spring、context、中文文档、jar包、java; 使用...
spring bean配置 运行环境:eclipse 构建工具:maven 不提供maven构建,maven用来解决jar包的依赖
包含翻译后的API文档:spring-context-support-4.3.12.RELEASE-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.springframework:spring-context-support:4.3.12.RELEASE; 标签:springframework、...