- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章:Spring与Struts、Hibernate的集成(国外英文资料)
第九章:Spring与Struts、Hibernate的集成(国外英文资料)
第九章:春天,Struts和Hibernate的集成
一、Spring和Hibernate的集成:
1、使用弹簧简化Hibernate编码:
第一步:接口实现类都继承自org.springframeword.orm.hibernate3.support.HibernateDaoSupport这个类;
第二步:具体实现:
示例1:
包com.aptech.jb.dao.impl;
/ /需要导入的关键包
进口org.springframework.orm.hibernate3.HibernateCallback;
进口org.springframework.orm.hibernage3.support.HibernateDaoSupport;
公共类FwxxDAOImpl扩展HibernateDaoSupport实现FwxxDAO {
公共Fwxx(int fwid){
返回(Fwxx)super.getHibernateTemplete(). get(Fwxx.class fwid);
}
公共空间添加(Fwxx Fwxx){
super.getHibernateTemplete阀门()(fwxx);
}
公共空间德尔(int fwid){
super.getHibernateTemplete()为. del(Fwxx.class fwid);
}
公共空间更新(Fwxx Fwxx){
super.HibernateTemplete().update(fwxx);
}
公共列表搜索(最终的Fwxx条件){
返回super.getHibernateTemplete().executeFind(
新的HibernateCallback(){
公共对象禁止(会话)抛出HibernateException {
标准c = s.createCriteria(Fwxx.class);
如果(零!=条件){
/ /构造标准查询条件的代码
……
}
c.addOrder(Order.asc(asc));
返回c.list();
}
});
}
}
解析:
接口实现类中的SessionFactory对象的创建都交给了HibernateDaoSupport类提供的setSessionFactory方法来处理,通过这个setter的方法向DAO类注入SessionFactroy。
2、配置数据源和Sessionfactory
第一步,在春天的配置文件中定义一个SessionFactory豆;
第二步,使用弹簧提供的LocalSessionFactoryBean传入一个Hibernate配置文件的位置;
示例2:
bean id = sessionFactory class = org.springframework.orm.hibernate3.LocalSessionFactoryBean
属性名= configLocation
价值类路径:hibernate.cfg,xml /值
/属性
/梁
第三步:集成数据源;
示例3:
第四步:将SessionFactory注入到DAO中;
示例4:
bean id = fwxxDAO class = com.aptech.jb.dao.hibimpl.FwxxDAOHibImpl
属性名= sessionFactory“ref = sessionFactory /
/豆
二、使用弹簧重新组装网络程序
1、使用弹簧管理依赖注入
程序中的依赖关系:
行动依赖商业,商业依赖刀,刀依赖SessionFactory,SessionFactory依赖数据源,如果使用弹簧来管理这些依赖关系,注入的方向刚好与依赖的方向相反。
如何将刀注入到商业中:
第一步:去掉直接实例化F我FwxxDAO接口示例的代码,解除FwxxBiz对FwxxDAO实现类的依赖关系,从而真正的实现“面向接口”编程。
第二步:增加FwxxDAO属性的setter方法,方便注入。
示例5:
Public class FwxxBiz implememts IFwxxBiz {
Private FwxxDAO = null
Public void setFwxxDAO (FwxxDAO)
Enclosing fwxxDAO = fwxxDAO;
}
/ / other business methods
...
}
Go back to the Spring configuration file and define the fwwwBiz Bean:
Example 6:
bean id = fwxxBiz class = com
文档评论(0)