?????????????JUnit??Spring TestContext????Spring TestContext???????£?
????1.Spring TestContext??????????ò???????????????????????
????2.????????в?????????bean???????@Autowired??????????
????----------------?????---------------------------
??????????web project??java project??????TestContext??????????????web project
???????????????Spring TestContext???????
????1.???????????
????????????????web project????????WebRoot/WEB-INF/lib????????spring-test.jar?????ɡ?
??????jar??λ??????????spring-framework-2.5.5??????????????/dist/modules???????spring-test.jar??
???????????JUnit?汾????4.5????????????????JUnit4.5???°汾??
????2.???TestContext??????
????applicationContext.xml??????£????????src????
????
????<?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"
????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-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/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
????<!-- Annotation???? -->
????<context:annotation-config />
????<context:component-scan base-package="com.huohuo" />
????<!-- ???????? -->
????<tx:annotation-driven transaction-manager="txManager"/>
????<!-- ????dataSource????? -->
????<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
????<property name="driverClassName">
????<value>com.mysql.jdbc.Driver</value>
????</property>
????<property name="url">
????<value>jdbc:mysql://localhost:3306/spring</value>
????</property>
????<property name="username">
????<value>root</value>
????</property>
????<property name="password">
????<value></value>
????</property>
????</bean>
????<!-- ????sessionFactory -->
????<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">   
????<property name="dataSource" ref="dataSource" /> 
????<property name="annotatedClasses">           
????<list>
????<value>com.huohuo.domain.User</value>
????<value>com.huohuo.domain.Log</value>
????</list>
????</property> 
????<property name="hibernateProperties">
????<props>
????<prop key="hibernate.dialect">
????org.hibernate.dialect.MySQLDialect
????</prop>
????<prop key="hibernate.show_sql">true</prop>
????<prop key="hbm2ddl.auto">update</prop>
????</props>
????</property>
????</bean>
????<!-- ????????TXManager -->
????<bean id="txManager"    class="org.springframework.orm.hibernate3.HibernateTransactionManager">
????<property name="sessionFactory" ref="sessionFactory" />
????</bean>               
????</beans>
????userServiceTest????????£?
????package com.huohuo.test;
????import org.junit.Test;
????import org.junit.runner.RunWith;
????import org.springframework.beans.factory.annotation.Autowired;
????import org.springframework.test.annotation.Rollback;
????import org.springframework.test.context.ContextConfiguration;
????import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
????import org.springframework.test.context.transaction.TransactionConfiguration;
????import org.springframework.transaction.annotation.Transactional;
????import com.huohuo.service.UserService;
????@RunWith(SpringJUnit4ClassRunner.class)                    
????@ContextConfiguration(locations="/applicationContext.xml")  //Spring???????λ??
????@TransactionConfiguration(transactionManager="txManager")    //???????bean ??id?txManager
????//??????????????????????????????????????transactionManager??????bean?????????applicationContext.xml?????????bean???????????????????????bean??id????
????@Transactional                    
????public class UserServiceTest {
????@Autowired   //??????bean??????д??@Resource(name="userService")
????private UserService userService;
????@Rollback(false)  //??????????????????????????????
????@Test
????public void test() {
????userService.saveUserAndLog();
????}
????}