编写 SetterInjection 的测试用例
TestSetterInjection 直接继承于 Spring 所提供的 AbstractJUnit4SpringContextTests 的抽象测试类。
TestSetterInjection.java代码:
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.AbstractJUnit4SpringContextTests;
import org.wh.tech.spring.di.SetterInjection;
/**
* @Author:WangHuan
*
* @Date:2011-7-1
*
* @TODO:测试Setter方式注入
*/
@ContextConfiguration(locations={"classpath:applicationContext-di.xml"})
public class TestSetterInjection extends AbstractJUnit4SpringContextTests {
@Autowired //
private SetterInjection setterInjection;
@Test
public void getObject(){
setterInjection.getObject();
}
}
SetterInjection.java代码:
package org.wh.tech.spring.di;
/**
* @Author:WangHuan
*
* @Date:2011-7-1
*
* @TODO:用setter方式注入
*/
public class SetterInjection implements DiService {
private String arg0;
private String arg1;
public void setArg0(String arg0) {
this.arg0 = arg0;
}
public void setArg1(String arg1) {
this.arg1 = arg1;
}
public String getArg0() {
return arg0;
}
public String getArg1() {
return arg1;
}
/* (non-Javadoc)
* @see org.wh.tech.spring.di.DiService#getObject()
*/
@Override
public Class<?> getObject() {
// TODO Auto-generated method stub
System.out.println(this.getArg0() + " ; " + this.getArg1());
return this.getClass();
}
}
applicationContext-di.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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:task="http://www.springframework.org/schema/task"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd
http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-3.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.0.xsd" >
<bean id="setterInjection" class="org.wh.tech.spring.di.SetterInjection" scope="prototype">
<property name="arg0" value="0" />
<property name="arg1" value="1" />
</bean>
</beans>
编写 ConstructorInjection 的测试用例
主要差别的配置如下
<bean id="constructorInjection" class="org.wh.tech.spring.di.ConstructorInjection" scope="prototype">
<constructor-arg type="java.lang.String">
<value>test</value>
</constructor-arg>
<constructor-arg type="int">
<value>70</value>
</constructor-arg>
</bean>
分享到:
相关推荐
- `spring-core.jar`: 这个核心模块提供了基础的IoC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)服务,以及资源处理和异常处理机制。它是Spring框架的基石,包括Bean工厂和...
5. **声明式事务管理**:Spring的事务管理支持编程式和声明式两种方式,3.1.0.M2在声明式事务管理上做了优化,使得事务边界更清晰,降低了出错概率。 6. **消息支持**:Spring 3.1.0.M2增强了对消息传递系统(如JMS...
文档还介绍了如何获取和构建Spring 3.1.0,包括直接下载正式发布版和通过SVN库持续构建源码的方法,这为开发者提供了两种不同的入门途径,适应不同的开发习惯和需求。 接下来,文档深入讲解了Spring的核心概念——...
5. **事务管理**:Spring提供了声明式和编程式两种事务管理方式,可以根据应用需求灵活选择。 6. **MVC注解**:在Spring 3.1版本中,注解驱动的开发进一步加强,比如@Controller、@Service、@Repository和@...
其3.0版本引入了许多新特性,如对Java 5和6的全面支持,引入了Spring Expression Language (SpEL),提供了对JSR-303/JSR-349 Bean Validation的支持,以及改进的AOP(面向切面编程)和依赖注入。Spring 3.0还增强了...
Spring框架是一个开源的应用程序框架,它简化了Java企业级应用的开发,通过提供一种依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)的解决方案。在Web层,Spring Web模块...
`spring-context-4.1.0.RELEASE.jar`和`spring-beans-4.1.0.RELEASE.jar`则是Spring框架的基础,提供了依赖注入、上下文管理等核心功能。 Hibernate 是一个对象关系映射(ORM)框架,它简化了数据库操作,使得...
Spring Data Redis的核心类是`RedisTemplate`,它封装了Jedis的操作,并且支持通过Spring的依赖注入来配置和使用。此外,`StringRedisTemplate`是针对字符串操作优化的版本。 集成步骤通常包括以下几点: 1. 添加...
在"Spring3.1.0Demo2-AOP"这个示例中,我们可能还会看到如何将AOP与Spring的其他功能(如IoC容器和依赖注入)结合使用,以创建一个完整的应用。例如,切面可能被注入到其他bean中,或者使用Spring的事务管理功能来...
由于 MyBatis 3 的官方发布晚于 Spring 3.0 的开发周期结束时间,因此 Spring 开发团队决定不基于未发布的 MyBatis 版本进行整合支持。为了解决这一问题,MyBatis 社区发起了一项子项目,旨在将 Spring 与 MyBatis ...
接下来,可以学习Spring的核心组件,如依赖注入(DI)、面向切面编程(AOP)、事务管理、数据访问/对象关系映射(DAO/ORM)等,以及Spring MVC、Spring Boot等子框架,进一步提升开发效率和应用质量。在实践中不断...
Spring 提供了一个全面的应用程序框架,涵盖了依赖注入、AOP(面向切面编程)、数据访问、Web应用以及更多功能。而Hibernate 则是Java领域中最流行的ORM(对象关系映射)工具,它简化了数据库操作,使得开发者可以...
Spring与Quartz的结合使得我们可以利用Spring的依赖注入和事务管理等特性,同时享受Quartz的灵活性和可扩展性。通过Spring的`SchedulerFactoryBean`,可以轻松地在应用中启动和配置Quartz Scheduler,然后创建`...
4. **org.springframework.context-3.1.0.RELEASE.jar**:Spring的上下文模块,提供了对应用程序环境和配置的全面管理,包括bean的生命周期管理和依赖注入。 5. **...
Spring是一个广泛使用的Java企业级应用程序开发框架,它提供了一种模块化和可扩展的方式来管理应用程序的复杂性,特别是通过依赖注入和面向切面编程(AOP)来实现。 在描述中提到了一个博客链接,虽然具体内容没有...
通过Spring MVC,开发者可以灵活地选择视图技术,如JSP、FreeMarker或Thymeleaf,并利用Spring的强大功能,如依赖注入、AOP(面向切面编程)等。 MyBatis3是MyBatis的最新版本,它是一个优秀的持久层框架,专注于...
Spring是一个全面的Java应用开发框架,提供了依赖注入、AOP(面向切面编程)、MVC(模型-视图-控制器)等特性,简化了Java Web应用的开发。`spring-context-support-5.2.2.RELEASE.jar`则包含Spring对邮件、定时任务...
`org.springframework.context-3.1.0.RELEASE.jar`是Spring框架的一个组成部分,专注于提供上下文和依赖注入(DI)功能。Spring框架是一个全面的Java企业级应用开发框架,它支持多种技术,包括WebSocket。Spring框架...
Spring框架是企业级应用的核心,提供了依赖注入(DI)和面向切面编程(AOP)等功能。它使得组件间的耦合度降低,提高了代码的可测试性和可维护性。Spring还包含了对其他框架的集成支持,如与Hibernate的整合,方便...