一、获取Spring容器中Bean的工具类
1、方式一
package 包路径;
import org.springframework.beans.BeansException;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
import org.springframework.stereotype.Component;
@Component("SpringBeanUtil")
public class SpringBeanUtil implements ApplicationContextAware {
private static ApplicationContext context;
private static SpringBeanUtil servlocator = new SpringBeanUtil();
public void setApplicationContext(ApplicationContext context) throws BeansException {
this.context = context;
}
/**
* 创建读取Bean服务类实例(从spring.xml中加载)
*/
public static SpringBeanUtil getInstance() {
return servlocator;
}
/**
* 根据提供的bean名称得到相应的服务类
*
* @param servName
* bean名称
*/
public static Object getBean(String beanId) {
return context.getBean(beanId);
// return beanFactory.getBean(servName);
}
/**
* 根据提供的bean名称得到对应于指定类型的服务类
*
* @param servName
* bean名称
* @param clazz
* 返回的bean类型,若类型不匹配,将抛出异常
*/<