【发布时间】:2011-11-17 09:50:32
【问题描述】:
我正在使用 Spring 3.1.0.M2。我正在编写一些 JUnit 4 测试来测试一些数据库功能,但是我在连接我的数据源时遇到了麻烦。在我的 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 bean。任何想法为什么我的数据源没有正确连接?谢谢, - 戴夫
【问题讨论】: