Web容器初始化时获取bean的几种方法

在开发javaWeb系统时,有时需要在系统初始化时进行一些附带的初始化操作,此时我们需要通过Spring获取相应的bean对象,然后进行相应的初始化操作。现在总结如下几种在系统初始化时获取bean对象的方法


一、通过获取WebApplicationContext直接得到bean

public class Applicationar {
	
   public static WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();      

    public static Object getBean (String beanName) {
		Object bean;
		bean =webApplicationContext.getBean(beanName);
		return bean;
	}
	
}


二、通过获取ApplicationContext得到bean

实现ApplicationContextAware 接口来获取ApplicationContext

@Service
public class SpringBean implements ApplicationContextAware {
	
	public static ApplicationContext applicationContext ;
	
	
	public static Object getBean (String beanName) {
		return applicationContext.getBean(beanName);
	}
	
	//此处需要依赖注入
	@Override
	public void setApplicationContext(ApplicationContext applicationContext)
			throws BeansException {
		SpringBean.applicationContext =applicationContext;
		
	}

}


我采用的注解方式实现的spring注册,也可以直接在xml文件中注册。此处涉及到setApplicationContext,有依赖注入,所以必须要有bean的注册。

ContextLoader的讲解参照http://blog.csdn.net/zjw10wei321/article/details/40145241

servletContext和WebApplicationContext的相互获取

  public static WebApplicationContext webApplicationContext = ContextLoader.getCurrentWebApplicationContext();    
  public  static ServletContext servletContext = webApplicationContext.getServletContext(); 

  ServletContext servletContext = event.getServletContext();

  public WebApplicationContext web = WebApplicationContextUtils.getWebApplicationContext(servletContext);


  




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值