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