我正在尝试通过Spring 4 SessionFactory DI在我的应用程序中@Autowire多个Hibernate SessionFactory。只有一个Datasource(epi)被正确注入,但其他两个Datasources SessionFactory值始终为null。 其中两个是oracle数据库,另一个是DB2。我不确定我做错了什么。
这是我的spring-Datasource.xml
@Transactional("epiTransactionManager")
public class EpiBaseService {
@Autowired
@Qualifier("episessionFactory")
private SessionFactory sessionFactory;
以下是我自动装配SessionFactory的类。
在sessionFactory下面注入完美。
@Transactional("stageDsTransactionManager")
public class StageDsBaseService {
@Autowired
@Qualifier("stageDsSessionFactory")
private SessionFactory sessionFactory;
@Transactional("eveTransactionManager")
public class EveBaseService {
@Autowired
@Qualifier("eveSessionFactory")
private SessionFactory sessionFactory;
对于下面的DS,自动装配的sessionFactory值始终为空。
#! /usr/bin/env python
# -*- coding: utf-8 -*-
请告诉我这里缺少什么。
答案 0 :(得分:0)
我知道我做错了什么。我正在创建一个服务类的新对象而不是Spring控制器内的@Autowiring。我这样做是为了确保我的sessionfactory不是null,但看起来这不是正确的方法。您必须使用Spring IOC容器在控制器中注入服务类。现在所有sessionFactories都正确连接到指定的数据源。