1.bean配置测试方法:
配置开发有利于后期的项目扩展及维护,所以,项目后期大多采用bean配置方案来对项目进行发布和维护。但是客户的需求总是在不断改变,我们很有可能有后期开发和测试,那么这样,我们是要进行代码的进一步开发和测试。
1.1配置文件案例:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <bean id="udao" class="com.spring.user.UserDao"></bean> <bean id="usvc" class="com.spring.user.UserService"> <property name="ud" ref="udao"></property> </bean> </beans>
1.2测试类:
package com.spring.user;
import org.junit.Test;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringTest {
@Test
public void testAdd() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
UserService svc = (UserService)applicationContext.getBean("usvc");
User u = new User("zhangsan",22);
svc.save(u);
}
}
2.bean标注测试方法:
spring的bean的标注加载方式能够大大减少我们的前期开发周期。不用写一个bean,然后就再去配置所有的bean,还有属性。这样,开发是大大方便了,可是,测试我们也要写啊。之前一直在网上苦苦寻觅,就没有一个博客谈及针对标注方式下,测试的写法。今天就去api研究了一番,总算是功夫不负有心人啊。原来就有AutowireCapableBeanFactory这个类,大家看了就知道了。我们可以通过这个factory来获取标注自动加载我们需要的bean了。多么给力啊。
2.1配置文件案例:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <context:annotation-config /> <!-- 标注扫描 --> <context:component-scan base-package="com.spring.*" /> </beans>
2.2测试类:
package com.spring.user;
import org.junit.Test;
import org.springframework.beans.factory.config.AutowireCapableBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class SpringTest {
@Test
public void testAdd() {
ApplicationContext applicationContext = new ClassPathXmlApplicationContext("beans.xml");
//标注测试写法
AutowireCapableBeanFactory autoBeanFactory = applicationContext.getAutowireCapableBeanFactory();
UserService svc = (UserService)autoBeanFactory.getBean("userService");
User u = new User("zhangsan",22);
svc.save(u);
}
}
若有更好的方案,请大侠多多指教。小弟这里献丑了。