java – Spring依赖注入不使用继承
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – Spring依赖注入不使用继承,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1355字,纯文字阅读大概需要2分钟。
内容图文
![java – Spring依赖注入不使用继承](/upload/InfoBanner/zyjiaocheng/727/025e43af56c949a48c859e0f78fe9aef.jpg)
我有一个泛型基础dao类,我在其中为所有daos实现了一些泛型方法.
<bean id="baseDAO" class="com.db.dao.BaseDao">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userDAO" class="com.db.dao.UserDao"></bean>
<bean id="notesDAO" class="com.db.dao.NotesDao"></bean>
最初,我使用依赖注入将sessionFactory注入每个dao,但后来我实现了一个基础dao,并且还有其他所有daos来扩展这个基础dao.
但是,在更改之后,每当我从其中一个daos调用getSessionFactory()时,我都会返回null.这个改变对我来说很有意义,但我似乎无法弄清楚为什么它会返回null,因为我已经在基础中注入了factorySession.
BaseDao
public class BaseDao<T> {
private SessionFactory sessionFactory;
public SessionFactory getSessionFactory() {
return sessionFactory;
}
public void setSessionFactory(SessionFactory sessionFactory) {
this.sessionFactory = sessionFactory;
}
...
}
userDAO的
public class UserDao extends BaseDao<User> {
public User read(String userName) {
Session session = getSessionFactory().getCurrentSession();
session.beginTransaction();
...
}
...
}
解决方法:
我看到它的方式是忘记在子项上添加父属性:
<bean id="baseDAO" class="com.db.dao.BaseDao" abstract="true">
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<bean id="userDAO" class="com.db.dao.UserDao" parent="baseDAO"></bean>
<bean id="notesDAO" class="com.db.dao.NotesDao" parent="baseDAO"></bean>
如果你把BaseDAO标记为抽象,我认为这也是一个好主意.
内容总结
以上是互联网集市为您收集整理的java – Spring依赖注入不使用继承全部内容,希望文章能够帮你解决java – Spring依赖注入不使用继承所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。