Spring、Struts2、Hibernate集成开…

只要是JavaEE开发那必然会牵扯到三大框架整合开发,当然绝大多数公司都有自己的框架,而且把三大框架都整合好了,你可能只需简单的配置就可以用了,但是你还是要会最基础的三大框架整合,下面我们就简略的说一下。

版本:spring2.5 + struts 2.1.6 + hibernate3.2

整合主要步骤:

一、Spring整合Struts2

1、 web.xml

加载AppliationContext采用listener方式:

contextConfigLocation

/WEB-INF/spring-config/applicationContext.xml

org.springframework.web.context.ContextLoaderListener

struts2

org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter

struts2

*.action

2、 struts.xml

添加Actionspring创建

"struts.objectFactory" value="spring" />

注意:Action中的class是个逻辑名称要与applicationbean id名一样

具体代码如下:

"struts.objectFactory" value="spring" />

"user" extends="struts-default">

"login" method="login" class="LoginAction">

"success">/success.jsp

3 applicationContext.xml

实际处理的Actionscope="prototype",该属性说明Action可以生成多个

具体代码如下:

"LoginAction" scope="prototype" class="action.LoginAction" />

二、Spring整合Hibernate

以下配置全部是在applicationContext.xml

1、配置数据源

Spring内置实现 DriverManagerDataSource

"dataSource"

class="org.springframework.jdbc.datasource.DriverManagerDataSource">

"driverClassName">

com.mysql.jdbc.Driver

"url">

jdbc:mysql://localhost:3306/test

"username">

root

"password">

2、配置sessionFactory

"sessionFactory"

class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">

"dataSource">

"dataSource" />

"mappingResources">

domain/User.hbm.xml

"hibernateProperties">

"hibernate.dialect">

org.hibernate.dialect.MySQLDialect

"hibernate.show_sql">true

3、配置Dao

"userDao" class="dao.UserDaoHibernateImpl">

"sessionFactory">

"sessionFactory" />

注意:以上配置是要求Dao 必须继承自HibernateDaoSupport

4、事务:

Spring事务机制

声明式事务、事务管理器

配置事务管理器

"transactionManager"

class="org.springframework.orm.hibernate3.HibernateTransactionManager">

"sessionFactory">

"sessionFactory" />

"txAdvice" transaction-manager="transactionManager">

"update*" propagation="REQUIRED" />

"*" propagation="SUPPORTS" read-only="true" />

"execution(* service.*(..))"

advice-ref="txAdvice" />

以上完成了整个SSH的整合

下面补充SpringJDBC的整合

数据源的配置同上

"userDao" class="dao.userDaoImpl">

"dataSource" ref="dataSource" />

"transactionManager"

class="org.springframework.jdbc.datasource.DataSourceTransactionManager">

"dataSource" ref="dataSource" />

"tsAdvice" transaction-manager="transactionManager">

"*" propagation="REQUIRED" />

"pc" expression="execution(* dao.userDao.*(..))" />

"tsAdvice" pointcut-ref="pc" />

你可能感兴趣的:(java,数据库,前端)