0
我有一個通用項目依賴於稱爲application1的應用程序。我以這種方式配置了xmls,每個項目都有一個獨特的jdbc屬性文件(不同的文件名),它指向不同的數據庫。 Postgres和MySQL。我創建了下面的代碼片段:春季休眠兩個不同的DAO連接
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"/applicationContext.xml", "/common-applicationContext.xml"})
@Transactional
public class AppTest extends AbstractTransactionalJUnit4SpringContextTests{
static Logger log = Logger.getLogger(App.class.getName());
@Resource(name = "testDao")
private IDAO dao;//Traces testDao, which originates in common package
@Resource(name = "testApplication1Dao")
private IDAO daoApplication1;//Traces dao from application1 package
@Test
public void AppContextTest(){
SessionFactory sf1 = dao.getHibernateTemplate().getSessionFactory();
SessionFactory sf2 = daoApplication1.getHibernateTemplate().getSessionFactory();
- 的類TestDao和TestApplication1Dao,正在擴展IDAO。 通用接口。
- testApplication1Dao-> Postgres的,在 applicationContext.xml中和在pgsql.jdbc.properties
- testDao-> Mysql的配置,在共applicationContext.xml中和在 mysql.jdbc.properties配置。
爲什麼使用eclipse進行調試,我發現dao和daoApplicatio1是相同的對象?他們應該嗎? 如何在屏幕上打印每個dao對象背後的連接和屬性?
預先感謝
EDIT(1)
從共同的項目:
import org.springframework.stereotype.Repository;
@Repository("testDao")
public class TestDao extends AbstractDao {}
來自應用程序1的項目:
import org.springframework.stereotype.Repository;
import gr.org.infrastructure.common.db.AbstractDao;
@Repository("testApplication1Dao")
public class TestApplication1Dao extends AbstractDao {}
和AbstractDao的是一個擴展IDAO(界面),沒有比薩重新...:
@Transactional(propagation=Propagation.REQUIRED)
public abstract class AbstractDao implements IDAO {
private HibernateTemplate hibernateTemplate;
private boolean rollbacked;
public AbstractDao() {
super();
this.rollbacked = false;
// TODO Auto-generated constructor stub
}
請顯示「dao」。 – yair