1.三大框架架构(整合原理)

2.导包(41个)
(1)hibernate
1.hibernate/lib/required

2.hibernate/lib/jpa | java persist api java的持久化规范(接口)

3.数据库驱动

(2)struts2
1.struts-blank.war/WEB-INF/lib/*
注意:javassist-3.18.1-GA.jar包与hibernate中的重复

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

(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
4.整合Hibernate和事务:4个
spring-jdbc|spring-tx|c3p0|spring-orm
5.整合junit4测试:test包
spring-test
(4)标签库
standard.jar
jstl-1.2.jar
3.单独配置spring容器
(1)创建配置文件,并导入约束(4个)
beans|context|aop|tx


(2)配置spring随项目启动
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</context-param>
4.单独配置struts2
(1)配置struts2主配置文件

(2)配置struts2核心过滤器到web.xml
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
5.struts2与spring整合
(1)导包(已经导入)
struts2-spring-plugin-2.3.24.jar
(2)配置常量


(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
配置方案一:(不推荐)

配置方案二:(推荐)

8.spring整合c3p0连接池
(1)配置db.properties

(2)引入连接池到spring中

(3)将连接池注入给SessionFactory

9.spring整合hibernate环境操作数据库
(1)Dao类创建:继承HibernateDaoSupport

(2)hibernate模板的操作
1.execute

2.findByCriteria

(3)spring中配置dao

10.spring的aop事务
(1)准备工作

(2)xml配置aop事务
1.配置通知

2.配置织入

(3)注解配置aop事务
1.开启注解事务

2.Service类中使用注解


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


12项目源码链接
https://pan.baidu.com/s/1c1OIUCo