SSH框架整合过程
第一步 导入需要用到的jar包
第二步 搭建struts2环境
(1) 创建action ,创建struts.xml配置文件,配置action
(2) 配置struts2 的过滤器
第三步 搭建hibernate环境
(1) 创建实体类
(2) 配置实体类和数据库表映射关系
(3) 创建hibernate核心配置文件 (引入映射配置文件)
第四步 搭建spring环境
(1) 创建spring核心配置文件
(2) 让spring 配置文件在服务器启动时候加载(如果不这样做,第一次加载的时候会很慢,而且每次用到都要去加载xml,性能降低)
(在web.xml中配置监听器和指定spring配置文件位置)
第五步 struts2 和spring整合
(1) 把action在spring配置(scope="prototype")
(2) 在struts.xml中 action 标签class属性里面写spring核心配置文件中bean的id 值
第六步 spring和hibernate整合
(1) 把hibernate 核心配置文件中数据库的配置(c3p0连接池),在spring里面配置
(2) 把hibernate 的sessionFactory在 spring用bean创建
sessionFactory:
<!-- 创建sessionFactory(hibernate) -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 因为在hibernate核心配置文件中,没有数据库配置,数据库配置在spring里面 所有要注入dataSource-->
<property name="dataSource" ref="dataSource"></property>
<!-- 指定核心配置文件 -->
<property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
</bean>
第七步 在dao里面使用hibernateTemplate
(1) 在dao注入hibernateTemplate对象
<!-- 创建实现类 -->
<bean id="userDaoImpl" class="com.tocean.dao.impl.UserDaoImpl">
<!-- 注入模板 -->
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
(2) 在hibernateTemplate对象中注入sessionFactory
<!-- 创建模板 -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate">
<!-- 注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
第八步 配置事务
<!-- 配置事务 -->
<!-- 第一步 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<!-- 注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property><!-- sessionFactory包含了DataSource -->
</bean>
<!-- 开启事务注解 -->
第一步 导入需要用到的jar包
第二步 搭建struts2环境
(1) 创建action ,创建struts.xml配置文件,配置action
(2) 配置struts2 的过滤器
第三步 搭建hibernate环境
(1) 创建实体类
(2) 配置实体类和数据库表映射关系
(3) 创建hibernate核心配置文件 (引入映射配置文件)
第四步 搭建spring环境
(1) 创建spring核心配置文件
(2) 让spring 配置文件在服务器启动时候加载(如果不这样做,第一次加载的时候会很慢,而且每次用到都要去加载xml,性能降低)
(在web.xml中配置监听器和指定spring配置文件位置)
第五步 struts2 和spring整合
(1) 把action在spring配置(scope="prototype")
(2) 在struts.xml中 action 标签class属性里面写spring核心配置文件中bean的id 值
第六步 spring和hibernate整合
(1) 把hibernate 核心配置文件中数据库的配置(c3p0连接池),在spring里面配置
(2) 把hibernate 的sessionFactory在 spring用bean创建
sessionFactory:
<!-- 创建sessionFactory(hibernate) -->
<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">
<!-- 因为在hibernate核心配置文件中,没有数据库配置,数据库配置在spring里面 所有要注入dataSource-->
<property name="dataSource" ref="dataSource"></property>
<!-- 指定核心配置文件 -->
<property name="configLocations" value="classpath:hibernate.cfg.xml"></property>
</bean>
第七步 在dao里面使用hibernateTemplate
(1) 在dao注入hibernateTemplate对象
<!-- 创建实现类 -->
<bean id="userDaoImpl" class="com.tocean.dao.impl.UserDaoImpl">
<!-- 注入模板 -->
<property name="hibernateTemplate" ref="hibernateTemplate"></property>
</bean>
(2) 在hibernateTemplate对象中注入sessionFactory
<!-- 创建模板 -->
<bean id="hibernateTemplate" class="org.springframework.orm.hibernate4.HibernateTemplate">
<!-- 注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property>
</bean>
第八步 配置事务
<!-- 配置事务 -->
<!-- 第一步 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager">
<!-- 注入sessionFactory -->
<property name="sessionFactory" ref="sessionFactory"></property><!-- sessionFactory包含了DataSource -->
</bean>
<!-- 开启事务注解 -->
<tx:annotation-driven transaction-manager="transactionManager"/>