1、首先引入spring的jar文件到項目中,我採用maven管理項目依賴的jar包:java
<properties> <spring.version>4.0.0.RELEASE</spring.version> </properties> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>${spring.version}</version> </dependency>
項目目錄結構以下:spring
還須要在項目中引入junit4的jar包sql
2、編寫測試類oracle
上圖結構中的JDBCTransactionTest.java爲測試類其部分代碼以下:app
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:applicationContext_jdbc_transaction.xml") public class JDBCTransactionTest extends AbstractJUnit4SpringContextTests { @Test public void transactionTest() throws ClassNotFoundException, InstantiationException, IllegalAccessException, SQLException { Class.forName("oracle.jdbc.driver.OracleDriver").newInstance(); String url = "jdbc:oracle:thin:@localhost:1521:xxxxxxxx"; String user = "xxxxxxx"; String password = "xxxx"; Connection conn = null; Statement statement = null; try { conn = DriverManager.getConnection(url, user, password); conn.setAutoCommit(false); statement = conn.createStatement(); String sql = "insert into user_base values(1,'james','aaa',2,12)"; statement.executeUpdate(sql); conn.commit(); } catch (SQLException e) { if (conn != null) conn.rollback(); conn.close(); statement.close(); } } }
要求:該類必須繼承自AbstractJUnit4springcontextTests maven
而後在其中編寫方法,並在方法上加註釋:@Test測試
這樣即可以經過配置spring配置文件的位置進行測試開發了。url
3、測試類中獲取IOC容器spa
在AbstractJUnit4springcontextTests 中有定義applicationContext變量,就是spring的全局IOC容器,經過它能夠獲取在xml中定義的beancode
爲了經過名字方便獲取自定義的bean,咱們能夠將該applicationContext封裝到方法內,經過給定的bean的名稱向外部提供自定義的bean,也能夠提供給外部applicationContext:
public Object getBean(String beanName) { return applicationContext.getBean(beanName); } protected ApplicationContext getContext() { return applicationContext; }