《Spring实战》摘录 - 3
021
Q: 为了降低Java开发的复杂性,Spring采取了以下4种关键策略:
A:
- 基于POJO的轻量级和最小侵入性编程;
- 通过依赖注入和面向接口实现松耦合;
- 基于切面和惯例进行声明式编程;
- 通过切面和模板减少样板式代码。
022
H:Spring最根本的使命上:简化Java开发。
Q: Spring最根本的使命
A: 简化Java开发。
023
Q: spring中bean的各种名称及意义
A: bean的各种名称……虽然Spring用bean或者JavaBean来表示应用组件,但并不意味着Spring组件必须要遵循JavaBean规范。一个Spring组件可以是任何形式的POJO。
024
H:简单老式Java对象(Plain Old Java object,POJO)
Q: POJO的全拼
A: Plain Old Java object,简单老式对象
025
H:创建Spring的主要目的
Q: spring 的主要目的(初心)
A: 来替代更加重量级的企业级Java技术,尤其是EJB
026
Q: Spring的2个核心特性
A:
- 依赖注入(dependency injection,DI)
- 面向切面编程(aspect-oriented programming,AOP)
#027
Q: 本书(《Spring实战》)的路线图是什么
A:
- 介绍Spring框架的核心知识。
- 在此基础上介绍如何使用Spring构建Web应用程序。
- 告别前端,介绍如何在应用程序的后端使用Spring。
- 描述如何使用Spring与其他的应用和服务进行集成。
028
Q:AOP中切点的定义
A:
- 如果说通知定义了切面的“什么”和“何时”的话,那么切点就定义了“何处”。
- 切点的定义会匹配通知所要织入的一个或多个连接点。
- 我们通常使用明确的类和方法名称,或是利用正则表达式定义所匹配的类和方法名称来指定这些切点。
029
Q: Spring在运行时通知对象的流程
A: 通过在代理类中包裹切面,Spring在运行期把切面织入到Spring管理的bean中。代理类封装了目标类,并拦截被通知方法的调用,再把调用转发给真正的目标bean。当代理拦截到方法调用时,在调用目标bean方法之前,会执行切面逻辑。
030
Q: 切面的通知、切点、连接点的关联图
A: 如下图