/记事本手打代码,正确率略低/
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.Driver
jdbc.url=jdbc:mysql://localhost:3306/ssh
jdbc.username=root
jdbc.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