當我們將hibernate與spring集成時,我們通常會使用@Repository spring註解來實現基於註解的方法。我學到的去爲它,爲了消除我們的DAO和從Hibernate支持的上下文session春依賴管理會話將hibernate與spring結合在一起,沒有彈簧對dao的依賴
@Repository
public class HibernateSpitterDao implements SpitterDao{
privateSessionFactorysessionFactory;
@Autowired
public HibernateSpitterDao(SessionFactory sessionFactory){
this.sessionFactory=sessionFactory;
}
private SessioncurrentSession(){
return sessionFactory.getCurrentSession();
}
...
}
目的。例如,如果我們不使用基於註解的方法我們的DAO會直接依賴於Spring的特定類,比如需要擴展HibernateDaoSupport。
但即使有註釋仍然DAO依賴於Spring知道嗎?因爲@Repository是Spring註釋。我們不能完全獨立於春天知道嗎?它更像是依賴於春天的註釋比依靠春天的課程更好,是嗎?
我只是想好一段時間後,我們需要與其他東西切換春天。在這種情況下,如果我們的DAO對Spring沒有依賴關係,那麼我們根本不需要觸及我們的DAO。