`

spring针对junit4的扩展以及javaConfig的配置方式

 
阅读更多

1.针对spring进行单元测试的时候,在测试类中直接可以注入spring配置文件,不需要通过ApplicationContext获取

UserServiceTest.java

package com.test.spring.dao;

import javax.annotation.Resource;

import org.junit.Test;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;

import com.test.spring.model.User;
import com.test.spring.service.UserService;

@ContextConfiguration("classpath:beans.xml")
public class UserServiceTest extends AbstractJUnit4SpringContextTests {

	private UserService userService;

	public UserService getUserService() {
		return userService;
	}

	@Resource(name = "userService")
	public void setUserService(UserService userService) {
		this.userService = userService;
	}

	@Test
	public void testAdd() {
		this.userService.add(new User());
	}

}

 

2.获取spring配置文件中的某个bean时,可以指定具体类型,不需要强制转换。

UserServiceTest2.java

package com.test.spring.dao;

import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.test.spring.model.User;
import com.test.spring.service.UserService;

public class UserServiceTest2 {
	@Test
	public void testAdd() {
		ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
		// UserService userService = (UserService) context.getBean("userService");
		UserService userService = context.getBean("userService", UserService.class);
		userService.add(new User());
	}
}

 

3.spring3以后的版本中除了xmlannotation两种配置方式外,还新增了javaConfig配置方式

AppConfig.java

package com.test.spring.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.test.spring.dao.UserDAO;
import com.test.spring.dao.impl.UserDAOImpl;
import com.test.spring.service.UserService;
import com.test.spring.service.impl.UserServiceImpl;

@Configuration
public class AppConfig {
	@Bean
	public UserDAO userDAO() {
		return new UserDAOImpl();
	}
	// 相当于xml中:<bean id = "userDAO" class="userDAO()"/>
	
	@Bean
	public UserService userService() {
		UserServiceImpl service = new UserServiceImpl();
		service.setUserDAO(userDAO());
		return service;
	}
	// 相当于xml中:<bean id = "userService" class="userService()"/>
}

 

beans.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
           http://www.springframework.org/schema/beans/spring-beans.xsd
           http://www.springframework.org/schema/context
		   http://www.springframework.org/schema/context/spring-context.xsd">

	<context:component-scan base-package="com.test.spring.config"></context:component-scan>

</beans>

 

分享到:
评论

相关推荐

    struts2_spring3.0_Junit4.7_Maven2.2.1_整合运行说明_培训.pdf )

    - 在`struts.properties`文件中设置`struts.objectFactory=spring`,或者在`struts.xml`中使用常量配置的方式:&lt;constant name="struts.objectFactory" value="spring"/&gt; 2. **配置Spring监听器** - 在`web.xml`...

    spring-aop demo及junit测试

    1. **基于XML的配置**:这是Spring AOP的传统配置方式,需要在Spring的配置文件中声明切入点表达式、定义通知类型(前置、后置、环绕等)以及组装切点和通知。以下是一个简单的示例: ```xml &lt;aop:config&gt; &lt;!-- ...

    spring-tool-suite-4-4.7.1.RELEASE-e4.16.0-win32.win32.x86_64.zip

    对于开发微服务应用的开发者,STS4提供了Spring Cloud工具集,包括对Spring Cloud Config、Spring Cloud Data Flow、Spring Cloud Netflix等组件的全面支持,方便构建、部署和管理微服务架构。 **7. DevOps工具** ...

    Java Spring开发电商完整平台

    本篇将深入探讨如何利用Java Spring开发一个完整的电商平台,包括SpringBoot框架的基础应用以及前后端开发的关键环节。 首先,Spring框架是Java企业级应用开发的核心,它提供了一个全面的编程和配置模型,用于简化...

    Spring与Struts集成方式一

    - 利用Spring的测试框架,如`SpringJUnit4ClassRunner`,可以方便地对Spring和Struts集成的应用进行单元测试和集成测试。 在实际项目中,通常还会涉及到安全框架(如Spring Security)和拦截器的配置,以增强应用...

    ssm+log4j+JUnit(eclipse)

    SSM+Log4j+JUnit 是一个经典的Java Web开发组合,用于构建高效、可测试的后端服务。这里,我们来详细探讨这些组件以及如何在Eclipse环境下进行整合。 **Spring MVC (Spring Framework)**:Spring MVC是Spring框架的...

    spring4 struts2 mybatis3 maven3 整合

    Spring 4对Java EE 7的支持增强,同时兼容了Java 8的新特性,提高了性能和可扩展性。在本整合中,Spring作为核心框架,负责管理应用程序的各个组件,包括Struts 2和MyBatis的集成。 **Struts 2** 是一个基于MVC...

    struts2+spring4+mybatis3框架搭建手册

    3. 集成MyBatis3:在Spring配置中加入MyBatis的SqlSessionFactoryBean,配置数据源、MapperScannerConfigurer扫描Mapper接口,以及mybatis-config.xml配置文件。 4. 编写业务逻辑:在Service层实现业务方法,通过...

    spring4+springMVC+Mybatis3.2整合源码

    4. **配置Spring MVC**:创建web.xml,配置DispatcherServlet,以及Spring MVC的配置文件(如servlet-context.xml),配置视图解析器、拦截器、处理器映射器等。 5. **配置Mybatis**:创建mybatis-config.xml,配置...

    尚硅谷2018最新SpringBoot 上下 核心技术和整合,SpringCloud教学视频

    4. **配置管理**:解析了Spring Boot的外部化配置,包括application.properties和YAML格式的配置文件,以及环境变量和命令行参数的使用。 5. **测试**:介绍单元测试和集成测试的最佳实践,如何使用JUnit和Mockito...

    Spring学习笔记,参考尚硅谷和黑马课程而作

    灵活是指Spring框架提供了多种配置方式,如XML、注解、JavaConfig等。可扩展是指Spring框架提供了许多扩展点,用户可以根据需要进行扩展和定制。松耦合是指Spring框架使用IoC和DI(Dependency Injection)来降低耦合...

    spring-framework-4.3.6 API

    6. Test:提供单元测试和集成测试的支持,如 TestContext、SpringJUnit4ClassRunner 等,便于进行 TDD(Test-Driven Development)。 三、关键特性 1. 容器扩展:Spring 提供了 BeanPostProcessor 和 ...

    spring-3.1.2包含jar包文件

    - **JavaConfig**:除了传统的 XML 配置外,Spring 3.1.2 引入了 JavaConfig,允许开发者使用纯 Java 类来配置应用上下文,使得配置更加简洁和直观。 - **Bean 生命周期管理**:这个版本提供了更强大的 bean 生命...

    让spring加载自己的properties配置文件,在代码中获得配置信息

    在单元测试中,通常需要模拟配置环境,Spring JUnit提供了一些工具类和注解,如`@RunWith(SpringRunner.class)`和`@ContextConfiguration`,它们可以帮助我们在测试环境中加载特定的配置。 总的来说,Spring通过...

    Spring side4

    Spring Boot的自动配置特性使得开发者能快速启动和运行应用,同时,它还引入了Spring Cloud Config,用于集中管理和动态更新应用的配置。 7. 持续集成:项目包含了持续集成的最佳实践,如使用Maven进行构建管理,...

    Struts1+Spring2+Hibernate2整合详细例子

    4. **配置Hibernate2**:创建hibernate.cfg.xml文件,设置数据库连接信息,定义实体类的映射文件(hbm.xml)。 5. **集成Struts1和Spring2**:使用Spring的Struts插件,将Spring管理的Bean注入到Struts的Action中,...

    跟我学spring3(8-13)

    4. **12.4 基于Java类定义Bean配置元数据**:详细介绍了如何通过JavaConfig来定义Spring的配置,包括扫描包、定义Bean之间的关系等。 【第十三章】 测试: 1. **13.1 概述**:测试在软件开发中至关重要,Spring提供...

    Spring的多线程应用

    在Java编程领域,Spring框架是企业级应用开发的首选,它提供了一整套服务和工具,使得开发者可以更高效地构建可维护、可扩展的应用系统。在【标题】"Spring的多线程应用"中,我们关注的是Spring如何支持和管理多线程...

    用xml配置文件的方式实现spring整合mybaits

    在SpringTest07这个项目中,可以编写JUnit测试类,利用Spring的`@ContextConfiguration`和`@Autowired`注解,加载配置并注入需要测试的组件,进行集成测试。 通过以上步骤,我们就成功地实现了Spring与MyBatis的...

    SpringBoot面试专题

    Spring Boot 提供了多种配置方式,包括 Properties 文件、YAML 文件、JavaConfig 等。开发者可以根据需要选择合适的配置方式。 Spring Boot 的application.properties文件 application.properties 文件是 Spring ...

Global site tag (gtag.js) - Google Analytics