目录
1 三大框架架构(整合原理)
struts2 , hibernate , spring 三大框架 各自的位置以及所处层次
2 导包
2.1 hibernate 的包
1,hibernate / lib /required
2, hibernate / lib /jpa | java persist api java的持久化规范(接口)
3,数据库驱动
2.2 struts2 的包
1,struts-blank.war/WEB-INF/lib/*
(注意:javassist-3.18.1-GA.jar包与hibernate中的重复)
2,struts整合spring插件包
注意:这个包一旦导入,那么struts2在启动时就会寻找spring容器.找不到将会抛出异常
2.3 spring 的包
1,基本:4+2
core|beans|context|expression|logging|log4j
2,整合web:web包
spring-web
3,整合aop:4个
spring-aop|spring-aspect|aop联盟|aopweaving(aspectj)
4,整合Hibernate和事务:4个
spring-jdbc|spring-tx|c3p0|spring-orm
5,正junit4测试:test包
spring-test
2.4 标签库
standard.jar
jstl-1.2.jar
3 单独配置 spring 容器
1,创建配置文件,并导入约束(4个)
beans|context|aop|tx
2,配置spring随项目启动
----在 web.xml 中配置----
4 单独配置 struts2
1,配置struts2主配置文件
2,配置struts2核心过滤器到web.xml
5 struts2 与 spring 整合
1,导包(已经导入)
2,配置常量
在 struts.xml 配置文件中
3,整合方案1:struts2自己创建action,spring负责组装依赖属性
不推荐理由:最好由spring完整管理action的生命周期.spring中功能才应用到Action上.
4,整合方案2:spring负责创建action以及组装.
applicationContext.xml
struts.xml
6 单独配置 hibernate
1,导入实体类&orm元数据
2,配置主配置文件
7 spring 整合 hibernate
1,整合原理
将sessionFactory对象交给spring容器管理
2,在spring中配置sessionFactory
配置方案一:
在 applicationContext.xml 中配置
配置方案二:
在 applicationContext.xml 中配置
8 spring 整合 c3p0 连接池
1,配置db.properties
2,引入连接池到spring中
3,将连接池注入给SessionFactory
9 spring 整合 hibernate 环境操作数据库
1,Dao类创建:继承HibernateDaoSupport
2,hibernate模板的操作
execute
findByCriteria
3,spring中配置dao
10 spring 的 aop 事务
1,准备工作
2,xml配置aop事务
1,配置通知
2,配置织入
3,注解配置aop事务
开启注解事务
Service类中使用注解
11 扩大 session 范围
1,为了避免使用懒加载时出现no-session问题.需要扩大session的作用范围
2,配置filter
在 web.xml 中配置信息
注意:扩大 session 作用域的 Filter 要放到 struts2 的 Filter 之前,甚至是所有的 Filter 基本上都要放到 struts2的filter之前,因为
strust2 的 filter 没有 dochain(放行)。