SSH整合问题

SSH整合问题,第1张

//框架导入顺序:

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>


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/bake/11807249.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存