打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Spring工具类,提供取得Bean的方法,方便单元测试

import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
* Spring工具类,提供取得Spring配置文件中定义的Bean的方法<br>用于单元测试
* @author http://hi.baidu.com/rascal_hu
*
*/
public class SpringUtil {
/** 唯一实例 */
private static SpringUtil INSTALL = null;
/**Spring工厂接口*/
private BeanFactory beanFactory = null;
/** Spring配置文件 */
private static final String SPRING_CFG = "file:WebRoot/WEB-INF/spring-*.xml";

/** 私有构造器 */
private SpringUtil() {
}

/**
* 取得类的唯一实例
* @return
*/
public synchronized static SpringUtil getInstance() {
   if (INSTALL == null) {
    INSTALL = new SpringUtil();
   }
   return INSTALL;
}

/**
* 取得BeanFactory
*/
private synchronized BeanFactory getBeanFactory() {
   if (this.beanFactory == null) {
    this.beanFactory = new ClassPathXmlApplicationContext(SPRING_CFG);
   }
   return this.beanFactory;
}

/**
* 通过在Spring配置文件中定义的bean名称,从IOC容器中取得实例
*
* @param beanName
*            bean名称
* @return bean名称对应实例Object,使用时需要强制类型转换
*/
public Object getBean(String beanName) throws NullPointerException {
   if (beanName == null) {
    throw new java.lang.NullPointerException("beanName不能为空!");
   }
   return this.getBeanFactory().getBean(beanName);
}

public static void main(String[] args) {
   // TODO
   // 测试代码
}
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Action中获取Spring配置的bean
Spring容器获取Bean的9种方式,你能get几种?
Spring内核研究-管理bean的声明周期一(InitializingBean和init-method)
Spring:源码解读Spring IOC原理
spring的InitializingBean的afterPropertiesSet方法和init-method配置的区别联系
使用beanfactory管理bean
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服