spring 初始化时注入bean实现listener的方法
两种方法:
1、实现ApplicationListener<ContextRefreshedEvent>的onApplicationEvent(ContextRefreshedEvent event)方法
并在application.xml或者spring-servlet.xml中注入bean,如下所示
<bean class="com.ss.pts.util.ContextParaInitialize"></bean>
2、直接使用@postConstruct注解,只要是spring能扫描到的类即可。
@Component
public class ContextParaInitialize implements ApplicationListener<ContextRefreshedEvent> {
	private static Logger log = LoggerFactory.getLogger(ContextParaInitialize.class);
	public static List<MachineInfoModel> machineList = null;
	@Resource IMachineDao machineDao;
@Override
	public void onApplicationEvent(ContextRefreshedEvent event) {
		log.info("----start load machine info");
		try {
			if(event.getApplicationContext().getParent() == null){
				machineList = machineDao.getAllMachineInfo();
			}
			log.info("machine info : "+machineList.get(0).getIp());
		} catch (Exception e) {
			e.getStackTrace();
			log.error("machine info load error :"+e.getMessage());
			// TODO: handle exception
		}
	}
@PostConstruct
	public void test (){
		log.info("...............................");
		log.info("----start load machine info");
		try {
			machineList = machineDao.getAllMachineInfo();
			log.info("machine info : "+machineList.get(0).getIp());
		} catch (Exception e) {
			e.getStackTrace();
			log.error("machine info load error :"+e.getMessage());
			// TODO: handle exception
		}
	}
}
spring 初始化时注入bean实现listener的方法的更多相关文章
- Spring - 运行时获取bean(ApplicationContextAware接口)
		
默认情况下,我们的bean都是单例模式(即从容器初始化到销毁只保持一个实例).当一个bean需要引用另外一个bean,我们往往会通过bean属性的方式通过依赖注入来引用另外一个bean.那么问题就来了 ...
 - spring注解方式注入bean
		
用注解的方式注入bean,spring的配置文件也要增加一些约束和导入注解所在的包 applicationContext.xml <?xml version="1.0" en ...
 - Spring中注解注入bean和配置文件注入bean
		
注解的方式确实比手动写xml文件注入要方便快捷很多,省去了很多不必要的时间去写xml文件 按以往要注入bean的时候,需要去配置一个xml,当然也可以直接扫描包体,用xml注入bean有以下方法: & ...
 - spring boot 动态注入bean
		
方法一 SpringContextUtil public class SpringContextUtil { private static ApplicationContext application ...
 - Spring学习笔记--注入Bean属性
		
这里通过一个MoonlightPoet类来演示了注入Bean属性property的效果. package com.moonlit.myspring; import java.util.List; im ...
 - springboot中@webfilter注解的filter时注入bean都是null
		
在使用@Webfilter注解Filter的情况下,不上外部tomcat时是没有问题的.但是在tomcat下运行时,filter中注入的bean就都是null 解决办法: 一:去掉@Webfilter ...
 - Spring学习(五)-----注入bean属性的三种方式(  1:  正常的方式  2:   快捷方式   3:  “p” 模式)
		
在Spring中,有三种方式注入值到 bean 属性. 正常的方式 快捷方式 “p” 模式 看到一个简单的Java类,它包含两个属性 - name 和 type.稍后将使用Spring注入值到这个 b ...
 - spring注入bean的三种方法
		
在Spring的世界中, 我们通常会利用bean config file 或者 annotation注解方式来配置bean. 在第一种利用bean config file(spring xml)方式中 ...
 - Spring基于xml注入bean的几种方式?
		
(1)Set方法注入: (2)构造器注入:①通过index设置参数的位置:②通过type设置参数类型: (3)静态工厂注入: (4)实例工厂:
 
随机推荐
- java 集合归类
			
对java的集合一直是停留在使用的角度,没有进行系统的归纳,趁现在比较空闲,归纳一下. 1 集合的层次关系 最顶层的有三个集合,其中一个类,两个接口, 一个类是Arrays,两个接口是Collect ...
 - IOS上传图片
			
//原文地址http://www.cnblogs.com/skyblue/archive/2013/05/08/3067108.html,因为以后要用到,搬来存下// // RequestPostUp ...
 - IOS使用Asyncsocket进行socket编程
			
iphone的标准推荐CFNetwork C库编程.但是编程比较烦躁.在其它OS往往用类来封装的对Socket函数的处理.比如MFC的CAsysncSocket.在iphone也有类似于开源项目.co ...
 - Linux Mint下编译Bochs
			
我在Linux Mint命令行下输入sudo apt-get install bochs安装之后发现这个没有安装gui界面,使用也存在一些问题,所以直接删掉从官网下载代码自己编译安装. 给Linux ...
 - Android Manifest.xml详解
			
一.关于AndroidManifest.xml AndroidManifest.xml 是每个android程序中必须的文件.它位于整个项目的根目录,描述了package中暴露的组件(activiti ...
 - Swift编程规范
			
文档编号: 应用开发Swift编码规范 (版本v1.0.0) 成文信息 主题词: Swift开发编码规范 作 者: 周少停 文档类别: 开发规范 审 核: 批 准: 文档性质: 初稿 ...
 - 制作部署安装包:Inno Setup
			
制作部署安装包:Inno Setup 前一篇尝试Office 2003 VSTO的开发.部署有提到用VS开发一个简单的VSTO程序.打包C/S程序,我首先想到的是VS里自带的Setup Project ...
 - Team Foundation API - 编程控制文件版本
			
Team Foundation Server (TFS)工具的亮点之一是文件的版本控制.在TFS中实现文件版本控制的类型: Microsoft.TeamFoundation.Client.TfsTea ...
 - 第三个Sprint冲刺第二天 最终篇
			
一.例会人员:李泳江,邵家文,周伟雄,谢洪跃 日期:6月21号 例会内容: 1.完成表格任务 编号 名称 时间 已用时间 是否完成 1 画出算法流程图 4小时 4小时 完成 2 界面设计 5小时 ...
 - csdn第八名
			
编号:1028时间:2016年7月18日11:49:17功能:csdn第八名URL :http://blog.csdn.net/21aspnet