Spring學習——Spring整合Junit4使用方法

對於以前常使用junit的程序員來說,肯定知道Junit4的好處。

當我們學習Spring時,如果我們想在測試方法中獲取Spring管理的對象,按照一般步驟,需要創建讀取Spring配置的對象,然後通過該對象獲得實體。

例:獲取Hibernate中的SessionFactory對象。如果我們有多個測試Hibernate的方法,按照普通方法:

ClassPathXmlApplicationContext cpxa = new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
SessionFactory sessionFactory = (SessionFactory )cpxa.getBean("sessionFactory");

要在每個方法中都要寫上上面這段代碼才能獲取到SessionFactory工廠,想想都煩惱。

Spring想到了這一點,幫我們優化了使用方法,我們只要學會使用就可以:

  • 1. 在測試類上使用註解:

  • // 每次執行此類中的測試方法時,都會爲我們自動創建Spring容器
    @RunWith(SpringJUnit4ClassRunner.class)
    // 指定Spring配置文件的路徑
    @ContextConfiguration("classpath:applicationContext.xml")
    public class Test {
    
    }
  •  2. 創建對象引用屬性,使用註解注入屬性:

  • 	@Resource(name="sessionFactory")
    	private SessionFactory sf;
  • 這樣,我們在測試方法中用到該對象時,直接使用就可以,無需再手動獲取,如:

  • 	@Test
    	public void testfun() {
    		// 使用Spring創建的SessionFactory對象創建session
    		Session session = sf.openSession();
    		Transaction tst = session.beginTransaction();
    		// 創建對象
    		TestMain tm = new TestMain();
    		tm.setName("test3");
    		// 持久化對象
    		session.save(tm);
    		// 事務提交、關閉資源
    		tst.commit();
    		session.close();
    	}

     

這雖然看起來並不簡單多少,但是如果有很多測試方法都要用到該對象時,會減輕很大的代碼量。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章