1个回答
展开全部
/**
* 封装Spring ApplicationConext引用, 方便工程通过API获取bean实例
* @author bjb-336
*
*/
@Component
public class SpringContextWrapper implements ApplicationContextAware{
private static ApplicationContext appContext;
/**
* 根据beanName 获取bean实例
* @param beanName
* @return
*/
public static Object getBean(String beanName){
Object obj = null;
if (null != appContext){
obj = appContext.getBean(beanName);
}
return obj;
}
/**
* 根据bean名称和类型进行获取Bean的实例
* @param beanName
* @param clsType
* @return
*/
public static <T> T getBean(String beanName, Class<T> clsType){
T obj = null;
if (null != appContext){
obj = appContext.getBean(beanName, clsType);
}
return obj;
}
/**
* 根据类型进行获取Bean的实例
* @param clsType
* @return
*/
public static <T> T getBean(Class<T> clsType){
T obj = null;
if (null != appContext){
obj = appContext.getBean(clsType);
}
return obj;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContextWrapper.appContext = applicationContext;
}
}
* 封装Spring ApplicationConext引用, 方便工程通过API获取bean实例
* @author bjb-336
*
*/
@Component
public class SpringContextWrapper implements ApplicationContextAware{
private static ApplicationContext appContext;
/**
* 根据beanName 获取bean实例
* @param beanName
* @return
*/
public static Object getBean(String beanName){
Object obj = null;
if (null != appContext){
obj = appContext.getBean(beanName);
}
return obj;
}
/**
* 根据bean名称和类型进行获取Bean的实例
* @param beanName
* @param clsType
* @return
*/
public static <T> T getBean(String beanName, Class<T> clsType){
T obj = null;
if (null != appContext){
obj = appContext.getBean(beanName, clsType);
}
return obj;
}
/**
* 根据类型进行获取Bean的实例
* @param clsType
* @return
*/
public static <T> T getBean(Class<T> clsType){
T obj = null;
if (null != appContext){
obj = appContext.getBean(clsType);
}
return obj;
}
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContextWrapper.appContext = applicationContext;
}
}
更多追问追答
追问
这个工具类我写了,但是发现 appContext 是null,不知道怎么回事
追答
框架的配置是不是没有配置完整,比如注解开启功能
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询