struts->spring->Hibernate
创建一个Action ,Action中加入一个属性:dao (数据库映射类)
//删除 asm-2.2.3.jar文件
#DaoSupport
1. 创建一个 DaoSupport 类 extends org.springframework.orm.hibernate3.support.HibernateDaoSupport
//注意: 要使用 hibernate 3 包里的 HibernateDaoSupport类
public void saveObject(Object o)//数据持久化
{
this.getHibernateTemplate().save(o)
}
2. //applicationContext.xml 中
<bean id="dao" class="app.com.dao.DaoSupport"> //映射 DaoSupport
<property name="sessionFactory">//设置使用的sessionFactory
<ref bean="sessionFactory"/>
</property>
</bean>
3. //struts-config.xml 中
<action-mappings>
</action-mappings>
//添加 请求委托处理器
<controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor"></controller>
<message-resources parameter="app.com.struts.ApplicationResources" />
4. //web.xml 中
<context-param>//设置配置文件
<param-name>contextConfigLocation</param-name>//这个名字不能随便取
<param-value>/WEB-INF/applicationContext.xml,/WEB-INF/action-servlet.xml</param-value>
</context-param>
<servlet>
<servlet-name>context</servlet-name>//加载配置文件读取器 这个名字可以随便取
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>//启动优先等级
</servlet>
5. //注入映射文件
<bean name="/login" //这里是Action的path 属性
class="app.com.struts.action.LoginAction" scope="prototype" //原型,不是单态模式
>
<property name="dao">
<ref bean="dao"/>
</property>
</bean>
这个是我自己学的时候总结的~~~希望能对你有所帮助~
主体思路是:Action的创建,由本来的struts 管理,交由Spring来进行管理。Spring在创建 Action的时候,就会注入DAO
而DAO又继承于 HibernateTemplate,并且在被Spring创建的时候,注入了SessionFactory.
由此,Action在进行业务 *** 作的时候,比如执行execute的时候,就可以使用已经和hibernate 联系起来的dao了。
实现:
增加一个jar包: struts2-spring-plugin.xxx.jar
在Struts.xml添加 struts.objectFactory=spring
在applicationContext.xml
进行action的管理,action注入DAO,DAO注入SESSIONFACTORY,SessionFacotry 注入 Datasource
Spring配置DAO层,可以直接在applicationContext-db.xml进行配置,示例如下:两个DAO的定义,通常声明DAO的时候,都是用接口来声明来使spring注入
<bean id="txn1001BO" name="txn1001BO" class="dap.service.bo.validate.impl.AuthReqBOImpl" scope="prototype">
<property name="commonOnlDAO" ref="commonOnlDAO"/>
<property name="commonHisDAO" ref="commonHisDAO"/>定义bo层的 *** 作时,需要注入的DAO定义
</bean>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)