SSH三大框架整合

整合原理

web开发分三层
这里写图片描述

spring为Struts2创建Action对象,对其实现 DI (依赖注入) 和 IOC (控制反转)。

spring与hibernate整合,使用spring管理SessionFactory,spring负责session维护和AOP事务。

.

导包(39个)

hibernate

  1. hibernate/lib/required
    这里写图片描述
  2. hibernate/lib/jpa ( java persist api java的持久化规范(接口))
    这里写图片描述
  3. 数据库驱动
    这里写图片描述

struts2

  1. struts-blank.war/WEB-INF/lib/*
    这里写图片描述
    注意:javassist-3.18.1-GA.jar包与hibernate中的重复,选择版本新的保留一个即可。

  2. struts整合spring插件包
    这里写图片描述
    注意:这个包一旦导入,那么struts2在启动时就会寻找spring容器.找不到将会抛出异常

spring

  1. 基本:4+2
    core|beans|context|expression|logging|log4j
  2. 整合web:web包
    spring-web
  3. 整合aop:4个
    spring-aop|spring-aspect|aop联盟|aopweaving
  4. 整合Hibernate和事务:4个
    spring-jdbc|spring-tx|c3p0|spring-orm
  5. 正junit4测试:test包
    spring-test

myeclipse自带jstl标签库。


单独配置spring容器

  1. 创建配置文件,并导入约束(4个)
    beans|context|aop|tx
    这里写图片描述
    这里写图片描述
    可以写个action类测试下。

单独配置struts2

  1. 配置struts2主配置文件
    这里写图片描述

  2. 配置struts2核心过滤器到web.xml

    这里写图片描述

struts2与spring整合

  1. 导包(已经导入)
    struts2-spring-plugin-2.3.24.jar

  2. 配置常量
    这里写图片描述
    这里写图片描述

  3. 整合

    整合方案1:struts2自己创建action,spring负责组装依赖属性
    这里写图片描述
    不推荐理由:最好由spring完整管理action的生命周期.spring中功能才应用到Action上.

    整合方案2:spring负责创建action以及组装.
    这里写图片描述
    applicationContext.xml
    这里写图片描述
    struts.xml

单独配置hibernate

  1. 导入实体类&orm元数据
    这里写图片描述

  2. 配置主配置文件
    这里写图片描述
    这里写图片描述
    这里写图片描述

spring整合hibernate

  1. 整合原理
    将sessionFactory对象交给spring容器管理

  2. 在spring中配置sessionFactory

    配置方案一:
    这里写图片描述

    配置方案二:
    这里写图片描述

spring整合c3p0连接池

  1. 配置db.properties
    这里写图片描述
  2. 引入连接池到spring中
    这里写图片描述
  3. 将连接池注入给SessionFactory
    这里写图片描述

spring整合hibernate环境操作数据库

  1. Dao类创建:继承HibernateDaoSupport
    这里写图片描述
    注意:在导包时一定要导入与 Hibernate 版本相同的包。
  2. hibernate模板的操作
    execute
    这里写图片描述
    findByCriteria
    这里写图片描述
  3. spring中配置dao
    这里写图片描述

spring的aop事务

  1. 准备工作
    这里写图片描述
  2. xml配置aop事务
    配置通知
    这里写图片描述
    配置织入
    这里写图片描述
  3. 注解配置aop事务
    开启注解事务
    这里写图片描述
    Service类中使用注解
    这里写图片描述
    这里写图片描述

扩大session作用范围

为了避免使用懒加载时出现no-session问题.需要扩大session的作用范围

配置filter
这里写图片描述
这里写图片描述
确保任何 filter 在 struts2 的 filter 之前

注意在导包时,要导入对应的版本。

猜你喜欢

转载自blog.csdn.net/xiao_ma_csdn/article/details/80379549