Spring获取bean对象帮助类

当无法通过注解获取bean对象时使用(线程中或者其他)

 //Spring写法

package com.flc.util;

import java.util.Locale;

import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;

/**
* bean对象实例化工具
* 用于线程操作bean对象
* @author Administrator
*
*/
public class SpringContextUtil implements ApplicationContextAware{

private static ApplicationContext context = null;

@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
// TODO Auto-generated method stub
this.context = applicationContext;
}

@SuppressWarnings("unchecked")
public static <T> T getBean(String beanName){
return (T) context.getBean(beanName);
}

public static String getMessage(String key){
return context.getMessage(key, null, Locale.getDefault());
}

}

 

----------------spring Boot写法----------------------

 

@Component
public class ApplicationContextProvider implements ApplicationContextAware {

private static ApplicationContext context;

private ApplicationContextProvider(){}

@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
context = applicationContext;
}

public static <T> T getBean(String name,Class<T> aClass){
return context.getBean(name,aClass);
}


}

 

posted @ 2018-05-07 16:00  雨梦大木  阅读(233)  评论(0编辑  收藏  举报