UserDao接口
UserDaoHibernate类
UserManager业务层的类,该类有UserDao属性将UserDaoHibernate注入到UserManager中以下两种方式,哪种更好一些呢:
方式1:
Bean ID = userDao
Bean Class = UserDaoHibernate
将userDao注入到UserManager
方式2:
Bean ID = userDaoHibernate
Bean Class = UserDaoHibernate
将userDaoHibernate注入到UserManager
UserDaoHibernate类
UserManager业务层的类,该类有UserDao属性将UserDaoHibernate注入到UserManager中以下两种方式,哪种更好一些呢:
方式1:
Bean ID = userDao
Bean Class = UserDaoHibernate
将userDao注入到UserManager
方式2:
Bean ID = userDaoHibernate
Bean Class = UserDaoHibernate
将userDaoHibernate注入到UserManager
Bean ID = userDao
Bean Class = UserDaoHibernate
将userDao注入到UserManager
方式2:
Bean ID = userDaoHibernate
Bean Class = UserDaoHibernate
将userDaoHibernate注入到UserManager
你这两种不是一样的吗?
userDao是接口,而UserDaoHibernate是对userDao的实现。最终注入到UserManager的都是UserDaoHibernate这个对象,只是说你在UserManager里面看到的是UserDao这个接口对象。
你配置的Bean ID只是这个bean的名字而已。当然,如果你在UserManager里面引入的是UserDaoHibernate这个的话,很遗憾的告诉你,那样好像不能注入。
方式2就不存在这个问题,如果以后不用hibernate了,只要增加一个userDaoXXX的bean,然后修改userManager的属性就可以了