SSH框架整合

来源:互联网 发布:软件开发入门书籍 编辑:程序博客网 时间:2024/06/16 15:47

/记事本手打代码,正确率略低/

1.导入jar包

2.添加配置文件
(1)web.xml中配置struts2的拦截器,spring的监听器
(2)spring整合struts2
方法一:
applicationContext.xml中配置dao和service层的bean
struts2中配置action
方法二:
applicationContext.xml中配置dao,service,action的bean
struts2中配置action
注意:但这时需要将applicationContext.xml中的action设置为多例,因为struts2线程安全,每次请求都会生成一个action实例,spring获取实例默认是单例模式,Spring运用ThreadLocal解决线程安全问题。

3.spring整合hibernate
.hibernate3.jar中的hibernatemapping3..dtd的头文件也是每个实体类映射文件的头文件
.实体映射文件的内容

<hibernate-mapping>    <class name="cn.com.Product" table="product">        <id name="pid" column="pid">            <generator class="native">            </generator>        </id>        <property name="pname" column="pname">        </property>        <property name="page" column="page">        </property>    </class></hibernate-mapping>

.新建一个jdbc.properties的文件,连接数据库

jdbc.driverClass=com.mysql.jdbc.Driverjdbc.url=jdbc:mysql://localhost:3306/sshjdbc.username=rootjdbc.password=123

.在applicationContext.xml中
.引入外部属性文件

<context:property-placeholder location="classpath:jdbc.properties"/>

.配置连接池

<bean id="dataSource" class="....ComboPooledDataSource">    <property name="driverClass"             value="${jdbc.driverClass}"/>    <property name="jdbcUrl" value="${jdbc.url}"/>    <property name="user" value="${jdbc.username}"/>    <property name="password" value="${jdbc.password}"/></bean>

.配置hibernate相关属性

<bean id="sessionFactory"   class="........LocalHibernateSessionFactory..."><!--注入连接池-->    <property name="dataSource" ref="dataSource"></property><!--配置hibernate的属性-->    <property name="hibernateProperties">        <props>        <prop key="hibernate.dialect">            org.hibernate.dialect.MySQLDialect        </prop>        <prop key="hibernate.show_sql">true</prop>            true        </props>        <prop key="hibernate.format_sql">            true        </prop>    <!--没有表时自动生成-->        <prop key="hibernate.hbm2ddl.auto">uodate        </prop>    </property><!--加载hibernate的映射文件-->    <property name="mappingResources">        <list>            <value>cn.com.Product.hbm.xml</value>        </list>        <list></list>    </property></bean>

4.在dao中注入sessionFactory
(1).在dao类上extends HibernateDaoSupport
(2).在配置dao的时候(applicationContext.xml时,配置一下sessionFactory的属性)
(3).在dao中调用模板完成保存的操作
this.getHibernateTemplate().save(product);

5.配置事务管理器

<bean id="transactionManager" class=".......HibernateTransactionManager">    <property name="sessionFactory" ref="sessionFactory"></property></bean>

6.开启注解事务

7.在业务逻辑层@Transactional