搭建crm练习ssh环境
第一步 导入jar包
第二步 搭建struts2环境
(1)创建action,创建struts.xml配置文件,配置action
(2)配置struts2的过滤器
第三步 搭建hibernate环境
(1)创建实体类
(2)配置实体类和数据库表映射关系
(3)创建Hibernate核心配置文件
-引入映射配置文件
第四步 搭建spring环境
(1)创建spring核心配置文件
(2)让spring配置文件在服务器启动时候加载
-配置监听器
-指定spring配置文件位置
第五步 struts2和spring整合
(1)把action在spring配置(action多实例的)
(2)在struts.xml中action标签class属性里面写bean的id值。
第六步 spring和Hibernate整合
(1)把Hibernate核心配置文件中数据库配置,在spring里面配置
(2)把Hibernate的sessionFactory在spring配置
第七步 完成互相注入(在dao里面使用hibernateTemplate)
(1)在dao注入hibernateTemplate对象
(2)在hibernateTemplate对象中注入sessionFactory
private HibernateTemplate hibernateTemplate; public void setHibernateTemplate(HibernateTemplate hibernateTemplate) { this.hibernateTemplate = hibernateTemplate; }
bean.xml中的配置
<bean id="userDaoImpl" class="cn.itcast.dao.UserDaoImpl"> <property name="hibernateTemplate" ref="hibernateTemplate"></property> </bean> <bean id="hibernateTemplate" class="org.springframework.orm.hibernate5.HibernateTemplate"> <property name="sessionFactory" ref="sessionFactory"></property> </bean>
(3)dao注入hibernateTemplate简化写法
在继承类HibernateDaoSupport实现一部分功能,把hibernateTemplate帮完成注入
(4)之前在hibernate配置与本地线程绑定session
<!-- 在hibernate核心配置文件中配置 --> <property name="hibernate.current_session_context_class">thread</property>
-不需要在spring里面再配置与本地线程绑定session
第八步 事务配置
<!-- 事务管理 --> <bean id="transactionManager" class="org.springframework.orm.hibernate5.HibernateTransactionManager"> <property name="sessionFactory" ref="sessionFactory"> </property> </bean> <!-- 事务管理 使用提示。完成之后需要在类上写transactional --> </tx:annotation-driven> --> <tx:annotation-driven transaction-manager="transactionManager"/>
完成之后需要在UserService类上写@Transactional。
在使用UserDaoImpl的简化方式时,出现错误,构建bean出现问题。