文章目录
1. 开发中主要使用 Spring 的什么技术 ?
- IOC 容器管理各层的组件
- 使用 AOP 配置声明式事务
- 整合其他框架
2. 简述 AOP 和 IOC 概念
AOP
:Aspect Oriented Program
, 面向(方面)切面的编程;Filter
(过滤器)也是一种 AOP. AOP 是一种新的方法论
, 是对传统OOP(Object-Oriented Programming, 面向对象编程)
的补充. AOP 的主要编程对象是切面(aspect),而切面模块化横切关注点.可以举例通过事务说明.IOC
:Invert Of Control
,控制反转
. 也成为DI(依赖注入)
其思想是反转
资源获取的方向. 传统的资源查找方式要求组件向容器发起请求查找资源.作为回应, 容器适时的返回资源. 而应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件,组件所要做的仅是选择一种合适的方式来接受资源. 这种行为也被称为查找的被动形式
3. 在 Spring 中如何配置 Bean ?
Bean 的配置方式:
- 通过全类名(反射)
- 通过工厂方法(静态工厂方法 & 实例工厂方法)
- FactoryBean
4. IOC 容器对 Bean 的生命周期:
①. 通过构造器
或工厂方法
创建 Bean 实例
②. 为 Bean 的属性设置值和对其他 Bean 的引用
③ . 将 Bean 实 例 传 递 给 Bean 后 置 处 理 器 的 postProcessBeforeInitialization
方法
④. 调用 Bean 的初始化方法(init-method)
⑤ . 将 Bean 实 例 传 递 给 Bean 后 置 处 理 器 的 postProcessAfterInitialization
方法
⑦. Bean 可以使用了
⑧. 当容器关闭时, 调用 Bean 的销毁方法(destroy-method)
5. Spring 如何整合 Hibernate
整合 Hibernate, 即由 IOC 容器生成 SessionFactory
对象, 并使用Spring 的声明式事务
- 利用
LocalSessionFactoryBean
工厂 Bean, 声明一个使用 XML 映射文件的SessionFactory
实例. - 利用
HibernateTransactionManager
配置 Hibernate 的事务管理器
6. Spring MVC 的运行流程
①. 在整个 Spring MVC 框架中, DispatcherServlet 处于核心位置,负
责协调和组织不同组件以完成请求处理并返回响应的工作
②. SpringMVC 处理请求过程:
- 若一个请求匹配
DispatcherServlet
的请求映射路径(在web.xml
中指定), WEB 容器将该请求转交给DispatcherServlet
处理 DispatcherServlet
接收到请求后, 将根据请求信息
(包括 URL、HTTP
方法、请求头、请求参数、Cookie 等)及HandlerMapping
的配置找到处理请求的处理器(Handler)
. 可将HandlerMapping
看成路由控制器,将 Handler 看成目标主机。- 当
DispatcherServlet
根据HandlerMapping
得到对应当前请求的Handler
后,通过HandlerAdapter
对Handler
进行封装,再以统一的适配器接口调用Handler
。 - 处 理 器 完 成 业 务 逻 辑 的 处 理 后 将 返 回 一 个
ModelAndView
给DispatcherServlet
,ModelAndView
包含了视图逻辑名
和模型数据
信息 DispatcherServlet
借助ViewResoler
完成逻辑视图名
到真实视图对象
的解析- 得到真实视图对象
View
后,DispatcherServlet
使用这个 View 对ModelAndView
中的模型数据进行视图渲染
7. 说出 Spring MVC 常用的 5 个注解:
- @RequestMapping
- @PathVariable
- @RequestParam
- @RequestBoy
- @ResponseBody
8. 如何使用 SpringMVC 完成 JSON 操作:
①. 配置 MappingJacksonHttpMessageConverter
②. 使用 @RequestBody 注解
或 ResponseEntity
作为返回值