第一步 导入jar包
第二步 搭建struts2环境
(1)创建action,创建struts.xml配置文件,配置action
(2)配置struts2的过滤器
第三步 搭建hibernate环境
(1)创建实体类
(2)配置实体类和数据库表映射关系
(3)创建hibernate核心配置文件
- 引入映射配置文件
<!-- 输出底层sql语句 -->
<property name="hibernate.show_sql">true</property>
<!-- 输出底层sql格式 -->
<property name="hibernate.format_sql">true</property>
<!-- hibernate帮创建表,需要配置之后才可
update:如果已经有表,则更新表,如果没有表,则创建
-->
<property name="hibernate.hbm2ddl.auto">update</property>
<!--配置mysql特有的方言,如limite -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<!-- 第三部分:引入映射文件 -->
<mapping resource="cn/aufe/domain/User.hbm.xml"/>
第四步 搭建spring环境
(1)创建spring核心配置文件
(2)让spring配置文件在服务器启动时候加载
- 配置监听器
- 指定spring配置文件位置
web.xml:
<!--配置这个可以在服务器启动时加载bean1.xml并且指定bean1.xml -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:bean1.xml</param-value>
</context-param>
<listener><!--为了启动服务器就加载spring配置文件 -->
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
第五步 struts2和spring整合
(1)把action在spring配置(action多实例的)
(2)在struts.xml中action标签class属性里面写 bean的id值
<!--action需要配置scope称为多实例对象 -->
<bean id="userAction" class="cn.aufe.action.UserAction" scope="prototype">
<property name="us" ref="userService"></property>
</bean>
<package name="demo1" namespace="/" extends="struts-default">
<action name="userAction" class="userAction"></action>
</package>
第六步 spring和hibernate整合
(1)把hibernate核心配置文件中数据库配置,在spring里面配置
(2)把hibernate的sessionFactory在spring配置
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
<property name="username" value="root"></property>
<property name="password" value="1234"></property>
<property name="url" value="jdbc:mysql:///spring_day04"></property>
</bean>
<!--配置sessionfactory,创建该对象 ,交给spring管理 -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate5.LocalSessionFactoryBean">
<!--注入DataSource -->
<property name="dataSource" ref="dataSource"></property>
<!--指定hibernate核心配置文件 -->
<property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
</bean>
第七步 在dao里面使用hibernateTemplate
(1)在dao注入hibernateTemplate对象
(2)在hibernateTemplate对象中注入sessionFactory
<!--配置userdao -->
<bean id="userDaoImpl" class="cn.aufe.dao.UserDaoImpl">
<!--注入hibernateTemplate -->
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
<!--配置hibernateTemplate -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate">
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
第八步 配置事务
<!--开启事务注解 -->
<!--第一步配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager">
<!--注入datasource或者sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
<!--第二步配置事务注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>