我使用的是Spring 3.1.0.M2。我正在編寫一些JUnit 4測試來測試一些數據庫功能,但是我無法連接我的數據源。在我的JUnit類中,我有...春季:在Junit測試中佈置數據源的問題
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader=AnnotationConfigContextLoader.class,
classes={DataSource.class, WebLeadsDAOImpl.class})
public class TestDB {
...
@Qualifier("mycoSessionFactory")
private SessionFactory sessionFactory;
/**
* Using a single lead lookup should speed up our testing queries.
* <p>
* The lead is is 8104051
* </p>
*/
@Before
public void prep() {
assertNotNull(sessionFactory);
...
}
但「sessionFactory」對象重複爲空。這裏是我正在嘗試對其進行配置......
@Lazy
@Component
@PropertySource("classpath:oracle.properties")
public class DataSource {
…
@Bean(name="mycoSessionFactory")
public SessionFactory sessionFactory() throws Exception {
final SessionFactory sessionFactory = new AnnotationSessionFactoryBuilder()
.setDataSource(dataSource())
.setHibernateProperties(databaseProperties())
.setPackagesToScan("com.criticalmass.systems.leadsmonitor.domain")
.setSchemaUpdate(false)
.buildSessionFactory();
return sessionFactory;
}
的原因,我不只是用「@Autowired」,是因爲我有兩個SessionFactory的豆類。任何想法爲什麼我的數據源連接不正確?謝謝, - 戴夫
我編輯了我的回覆,表明我的JUnit類已經有了指向相應類的「@ContextConfiguration」註解。實際上,我通過日誌記錄驗證了上面列出的SessionFactory bean生成方法正在被調用。任何其他想法? – Dave
@Dave:看到我改變的答案 – Ralph