Day52 Java框架 Spring4框架(四)SSH整合

SSH整合方式一:无障碍整合
一.SSH整合

  1. 创建web项目,引入jar包
    1. Struts2的jar包
      - - struts-2.3.24\apps\struts2-blank\WEB-INF\lib\*.jar
      - - Struts2中一些需要了解的包
                struts2-convention-plugin-2.3.24.jar            ---Struts2的注解开发包
                struts2-json-plugin-2.3.24.jar                       ---Struts2的整合AJAX的开发包
                struts2-spring-plugin-2.3.24.jar                    ---Struts2的整合Spring的开发包
               
    2. Hibernate的jar包
      - - Hibernate开发的必须的包     hibernate-release-5.0.7.Final\lib\required\*.jar
      - - MySQL驱动包   mysql-connector-java-5.1.7-bin.jar
      - - 日志记录
          
      - - 使用C3P0连接池
          
      - - 注意:Struts2和Hibernate都引入了一个相同的jar包(javassist包),删除一个
    3. Spring的jar包
      - - IOC的开发
          
      - - AOP的开发
          
      - - JDBC模板的开发
          
      - - 事务管理
          
      - - 整合web项目的开发
          
      - - 整合单元测试的开发
          
      - - 整合hibernate的开发
          
  2. 引入配置文件
    1. Struts2的配置文件
      - web.xml    //核心过滤器
      - struts.xml
    2. Hibernate的配置文件
      - hibernate.cfg.xml        //不需要配置与线程绑定的session, 事务隔离级别
      - 映射文件  *.hmb.xml
      - 日志记录
    3. Spring的配置文件
      - web.xml     //核心监听器
       
        
      - applicationContext.xml
      - 日志记录 .  //与2中日志记录相同,一份即可 log4j.properties
  3. 创建相应的包结构
  4. 创建相关的类
  5. 引入相关的页面
  6. 修改add.jsp,提交数据到Action
  7. Spring整合Struts2方式一:Action由Struts2自身创建
    1. 编写Action,
    2. 配置Action,在struts.xml中配置
        
    3. 在Action中引入Service
      - - 传统方式

      - -进行Spring和Struts2的整合:
           引入struts2-spring-plugin-2.3.24.jar
           这个包中有个配置文件,打开了一个常量
           

            在Struts2中只要开启这个常量就会引发下面的常量生效
                //让Action按名称自动注入Service
      - - 将Servcie交给Spring管理
           
    4. Action注入Service

  8. Spring整合Struts2方式二:Action交给Spring管理 (推荐)
    1. 引入插件包
      struts2-spring-plugin-2.3.24.jar
    2. 将Action交给Spring
    3. 在struts.xml配置Action       //class中写的是spring配置中的id
    4. 注意:
      - - 需要配置Action为多例的  ,在8.2中bean标签,添加一个属性scope="prototype"
      - - 需要手动注入Service       ,因为Action交给Spring管理了,在bean标签内添加property标签,注入customerService
  9. Service调用DAO
    1. 将DAO交给Spring管理
    2. 在Service注入DAO
  10. Spring整合Hibernate框架
    1. 创建数据库和表
    2. 编写实体和映射
    3. Spring和Hibernate整合
      - 在Spring的配置文件中,引入Hibernate的配置的信息

    4. 在Spring和Hibernate整合后,Spring提供了一个Hibernate的模板类简化Hibernate的开发
      - 改写DAO,继承HibernateSupport
      - 配置时在DAO中直接注入sessionFactory
      - 在DAO中使用Hibernate的模板完成保存操作
  11. 配置Spring的事务管理
    1. 配置事务管理器
    2. 开启注解事务
    3. 在业务层使用注解

SSH整合方式二:不带Hibernate配置文件

一.SSH整合

  1. Hibernate配置文件内容
    - 数据库连接的配置
    - Hibernate的相关的属性的配置
       - - 方言,显示SQL,格式化SQL,建表方式
    - C3P0连接池
    - 映射文件
  2. 将Hibernate的配置交给Spring


Hibernate的模板的使用

一.常用方法

  1. 保存操作  save(Object obj);
  2. 修改操作  update(Object obj);
  3. 删除操作  delete(Object obj);
  4. 查询操作:
    - 查询一个      get(Class c ,Serializable id)           load(Class c ,Serializable id)
    - 查询多个     
           List find(String hql, Object...args)            
           List findByCriteria(DetachedCriteria dc)
           List findByCriteria(DetachedCriteria dc ,int firstResult , int maxResults)
           List findByNamedQuery(String name , Object...args)

延迟加载问题的解决

一.Spring提供了延迟加载的解决方案

  1. 出现场景:
    1. 使用load方法查询某一个对象的时候(不常用)
    2. 查询到某个对象以后,显示其关联对象
  2. 解决办法:配置过滤器
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值