SSH整合开发配置详解

1.导入spring\hibernate\struts等相关jar包
---

2.搭建struts2环境
>---UserAction.java,继承ActionSupport
  |-----登录方法
>---struts.xml
  |------配置UserAction信息
  |------class路径,action指定
>---配置过滤器
  |------web.xml,filter
---

3.搭建hibernate环境
>---实体类User.java
  |------class路径
  |----实体类中的属性映射User.hbm.xml,(启动数据库时会根据其创建表)
>------核心配置文件hibernate.cfg.xml
  |------引入映射文件User.hbm.xml
---

4.搭建spring环境
>---核心配置文件bean.xml
  |-------
>---配置监听器,使服务器启动时加载
  |-------web.xml
    |------context指定bean.xml文件位置
    |------listener监听器
---

5.struts和spring整合
>---bean.xml
  |-------bean:class指定为UserAction类路径,且id命名为userAtion
>---struts.xml
  |-------去除class具体路径,改为bean中的id值
---

6.spring和hibernate整合
>---hibernate.cfg.xml
  |-------其session-factory中配置数据库的信息去除,放到spring配置文件bean.xml的bean中
>---bean.xml
  |-------配置数据库连接池,bean属性指定
  |-------创建sessionfactory,bean属性指定
    |-------(快捷键:ctrl+shift+t搜索localSessionFacttoryBean),指定id为sessionFatory
    |-------bean中property指定localSessionFacttoryBean类文件中dataSource属性
    |-------bean中property指定localSessionFacttoryBean类文件中configLocations,value值为hibernate.cfg.xml位置
---

7.完成互相注入关系:
>---创建service类UserService.Java
>---创建接口Interface,UserDao.java
>---创建接口实现类UserDaoImpl.java(创建时Surperclass选择UserDao)
---

8.action里面注入service
>---UserAction.java
  |-------①private UserService userService;并生成setter方法注入
>---bean.xml
  |-------②通过bean添加UserService类对象,id命名为userSerivice,同5,通过spring统一管理
  |-------在bean.xml的UserAction类的对象的bean中通过property指定useService(该名和①一致),ref指定②中id一样,完成注入
---

9.service里面注入dao
>---UserService.java
  |-------①private UserDao userDao;并生成setter方法注入
>---bean.xml
  |-------②通过bean添加UserDao的【实现类】对象(接口不能new对象 ),id命名为userDaoImpl,同5,通过spring统一管理
  |-------在bean.xml的UserServices类的对象的bean中通过property指定userDao(该名和上①一致),ref指定②中id一样,完成注入
---

10.dao里面注入hibernateTemplate
>---UserDaoImpl.java
  |-------①private HibernateTemplate hibernateTemplate;并生成setter方法注入
>---bean.xml
  |-------②通过bean属性添加HibernateTemplate的对象(class值为该导入包的值),id命名为hibernateTemplate,同5,通过spring统一管理
  |-------bean.xml的HibernateTemplate的对象中通过property指定sessionFactory,ref指定为sessionFactory(bean.xml里面的,由于6)
  -------在bean.xml的UserDao的【实现类】的对象的bean中通过property指定hibernateTemplate(该名和上①一致),ref指定②中id一样,完成注入
---

11.事务管理器
>---bean.xml
  |-------创建事务管理器对象
    |-------①创建HibernateTransactionManager(open type窗口查找后复制路径)的对象,指定bean的class值为其路径,id命名为transactionManager
    |-------bean.xml的HibernateTransactionManager的对象对象中通过property指定sessionFactory,ref指定为sessionFactory(也可以注入dataSource)
  |-------开启事务的注解,指定事务管理器
    |-------<tx:annotation-driven transaction-manager="transactionManage"/>
,transaction-manager值与①中id一直,通过其指定事务管理器
    |-------在UserService.java类上增加注解@transactional
---

12.测试
>---执行项目,查看有无错误,查看数据库中是否根据bean.xml中的属性创建指定的数据表(sessionfactory创建时生成数据表)

猜你喜欢

转载自www.cnblogs.com/curllen/p/8926430.html
今日推荐