在spring+springMvc+Mybatis框架中会大量使用注解的方式来注入对象,一般bean都是由spring来管理,但是由于在项目中有时会使用线程,而spring考虑到线程安全的问题并不支持注入,所以就要手动写一个工具类来手动获取对象
package com.ismp.util;
import java.util.Locale;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
/**
* spring 获取 bean 工具类
* 解决线程无法获取注入对象
* @author admin
*/
public class SpringContextUtil implements ApplicationContextAware {
private static ApplicationContext context = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext)throws BeansException {
this.context=applicationContext;
}
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());
}
}