面试题—–五大框架总结!!!

  • 2019 年 10 月 5 日
  • 笔记

一、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.把日志植入到目标对象中