`
zhaohaolin
  • 浏览: 1003865 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

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
   // 测试代码
}
}

分享到:
评论

相关推荐

    创建SpringBean配置工具类

    创建SpringBean配置工具类(安全)如: &lt;bean id=... scope="prototype"&gt;&lt;/bean&gt;

    spring bean XML配置入门

    我们还可以在XML配置中定义Bean的初始化方法(`init-method`)和销毁方法(`destroy-method`),Spring容器会在适当的时间调用这些方法。 9. **Spring容器的启动与Bean的生命周期**: 一旦XML配置加载到Spring...

    07. Spring Boot单元测试

    总结,Spring Boot的单元测试涵盖多个层次,从简单的类方法测试到复杂的集成测试,都有相应的工具和策略。理解和熟练运用这些知识点,能有效提升开发效率,保证代码质量。在实际项目中,应根据需求选择合适的测试...

    spring整合单元测试Junit开发包

    在Spring框架中,`spring-test`模块是专门为测试而设计的,它提供了对Spring应用程序上下文的支持,使得在测试环境中可以方便地加载和管理bean。`spring-test-4.2.4.RELEASE.jar`是这个模块的一个特定版本,发布于...

    Spring在应用中获得Bean的方法

    在开发中,Spring提供的各种工具如`BeanPostProcessor`、`InstantiationAwareBeanPostProcessor`等接口,允许我们自定义Bean的创建和初始化过程,进一步扩展Spring的功能。 总结来说,Spring提供多种方式让我们在...

    Spring boot工具类静态属性注入及多环境配置详解

    Spring Boot工具类静态属性注入及多环境配置详解 Spring Boot工具类静态属性注入是指使用Spring ...Spring Boot工具类静态属性注入和多环境配置可以方便地在不同的环境中切换配置信息,提高程序的可移植性和灵活性。

    通过spring管理的web工程的junit单元测试方法四

    本文将深入探讨如何利用Spring管理的Web工程进行单元测试,以及如何借助工具提升测试效率。 首先,理解“通过Spring管理”的含义至关重要。这意味着我们的测试将依赖于Spring的IoC(Inversion of Control)容器来...

    Spring获取ApplicationContext对象工具类的实现方法

    本文将详细介绍Spring中获取ApplicationContext对象的工具类实现方法。 在Spring中,典型的获取ApplicationContext对象的方式是使用ApplicationContext接口的一个实现类,如ClassPathXmlApplicationContext。这是一...

    普通类调用Spring bean对象

    5. **工具类**:为了简化代码,有时我们会创建一个工具类,该类持有`ApplicationContext`的单例,提供获取bean的方法。例如: ```java public class SpringUtil { private static ApplicationContext context; ...

    Spring实例化Bean顺序

    在Spring框架中,Bean的实例化顺序是一个关键概念,它涉及到如何管理和协调多个Bean的创建与依赖关系。这里,我们主要探讨的是Spring如何...通过合理利用Spring提供的工具和机制,可以更好地控制和管理Bean的生命周期。

    Spring3单元测试和集成测试

    在Spring3中,我们可以使用JUnit作为主要的测试框架,结合`@RunWith(SpringJUnit4ClassRunner.class)`注解来启动Spring上下文,使得测试类能够访问到Spring的bean。例如: ```java import org.junit.Test; import ...

    spring MVC junit 单元测试(controller)

    JUnit是Java中最常用的单元测试框架,它提供了编写和运行可重复测试的便利工具。在Spring MVC中,我们可以利用Spring的TestContext框架和MockMVC库来模拟HTTP请求,对Controller进行隔离测试。 进行Spring MVC ...

    17. Spring Boot普通类调用bean【从零开始学Spring Boot】

    当你在类的属性或方法上添加@Autowired,Spring会尝试查找匹配类型的bean并注入。 4. **ApplicationContext接口**: 这是Spring提供的接口,用于获取bean和管理bean的生命周期。你可以通过实现...

    第一章 Spring4 简介及获取Bean

    - **测试**:Spring Test模块支持单元测试和集成测试,简化了测试代码的编写。 **学习资源** 为了深入理解Spring框架,可以参考以下资源: - Spring官方文档:提供详细的API和使用指南。 - 博文链接:...

    spring测试jar

    Spring 提供了专门的测试支持,使得对应用程序进行单元测试、集成测试以及端到端测试变得更加方便。"spring测试jar"指的是包含这些测试支持的 JAR 文件,通常包括 `spring-test` 和 `junit` 相关的库。 1. **Spring...

    Spring对于业务层的单元测试支持

    其中,Spring对于业务层的单元测试和集成测试提供了丰富的工具和功能,使得开发者能够更加高效地对代码进行验证和调试。本文将深入探讨Spring如何帮助我们进行业务层的测试。 首先,单元测试主要关注的是单个类或...

    Spring之核心容器bean

    在本篇文章中,我们将深入探讨Spring的核心容器及其bean的概念,以帮助你更好地理解和使用这个强大的工具。 **Spring核心容器** Spring的核心容器是整个框架的基础,它负责创建、配置和管理bean。主要有两个关键...

    Junit 单元测试完整案例

    在案例中,你将看到如何创建测试类,定义测试方法,设置测试数据,以及如何利用JUnit和Spring/Struts提供的工具来编写高效的单元测试。通过分析和运行源码,你可以了解如何将这些概念应用于实际项目,提高代码质量。...

    Spring整合Junit框架进行单元测试Demo

    除了基本的单元测试,我们还可以结合Mockito、PowerMock等库进行更高级的测试,如模拟静态方法、私有方法或final类。这些工具可以帮助我们处理那些难以直接测试的代码。 总之,Spring整合JUnit进行单元测试是一个...

    基于Spring的JUnit单元测试

    Spring提供了一个名为`@ContextConfiguration`的注解,用于指示测试类加载的上下文配置。通过这个注解,我们可以指定Spring配置文件的位置,例如: ```java @RunWith(SpringRunner.class) @ContextConfiguration(...

Global site tag (gtag.js) - Google Analytics