一、Struts2的实现
1、导入jar包
2、配置Struts2.xml文件
3、配置web过滤器
4、写action控制文件
二、Struts2的原理
1、客户端初始化一个指向Servlet容器的请求
2、请求经过过滤器
3、再被Struts调用,通过Struts2的核心配置文件决定调用某个action
三、hibernate的特点
1、轻量级的框架
2、是持久层框架
3、内置简单的sql语句
4、是实体类与数据库表字段的关系型映射
5、移植性强
6、全自动
四、mybatis的特点
1、手动编写sql语句
2、动态实现sql
3、是实体类与sql语句的关系映射
4、也是持久层框架
5、半自动
五、hibernate与mybatis的区别
1、数据库表数量较多,需要批量处理 推荐使用mybatis框架
2、数据库表结构复杂,推荐使用mybatis框架
3、人员方面不是经常使用hibernate的情况下,使用mybatis框架简单易学
六、mybatis 工作原理
1、加载mybatis全局配置文件(数据源、mapper映射文件等),解析配置文件,MyBatis基于XML配置文件生成Configuration,和一个个MappedStatement(包括了参数映射配置、动态SQL语句、结果映射配置),其对应着<select | update | delete | insert>标签项。
2、SqlSessionFactoryBuilder通过Configuration对象生成SqlSessionFactory,用来开启SqlSession。
3、SqlSession对象完成和数据库的交互:
a、用户程序调用mybatis接口层api(即Mapper接口中的方法)
b、SqlSession通过调用api的Statement ID找到对应的MappedStatement对象
c、通过Executor(负责动态SQL的生成和查询缓存的维护)将MappedStatement对象进行解析,sql参数转化、动态sql拼接,生成jdbc Statement对象
d、JDBC执行sql。
e、借助MappedStatement中的结果映射关系,将返回结果转化成HashMap、JavaBean等存储结构并返回。
六、spring的核心 IOC 与AOP
一、IOC
控制反转与依赖注入
1、控制反转
原始的创建对象是由调用者创建被调用者的对象,就是将创建对像交由spring配置文件负责,降低类与类之间的耦合度
2、依赖注入
通过spring核心配置文件将被调用的对象注入到调用中
二、AOP :面向切面
将与核心业务无关的服务型功能(日志、事务)模块化,做成一个切面,再植入到核心业务中去,
减少耦合度,程序员可以只关心核心业务
* Spring怎么使用AOP 做日志
* 1.做一个日志切面
* 2.做一个切入点
* 3.把日志植入到目标对象中