SSM框架(Spring+SpringMVC+MyBatis)之 Spring 核心

SSM框架(Spring+SpringMVC+MyBatis)之 Spring 核心,主要做两件事。

(1) 管理对象(IoC/DI)----- 控制反转/依赖注入 ----- IoC控制对象的创建 ----- 对象、对象、对象(重要事情 说三遍)

(2) 管理方法的调用执行(AOP) ----- 面向切面编程

一、IoC/DI ----- 控制反转/依赖注入(Inversion of Control / Dependency Injection)----- 横向扩展增强、横向扩展增强、横向扩展增强(重要事情 说三遍)

1.描述:降低耦合度,创建对象

  • 如果调用一个类中的方法,需要new对象时,手工new对象,再 点 调用。
  • 在Spring 的IoC中,可以将代码new对象交给Spring的配置文件完成,程序帮你new对象,不是手动new了。

2. IoC/DI 完成对象的解耦合

  • 传统的Javaweb三层,dao、service、controller,controller调用service层,service调用到层,有依赖
  • 所以,如果换一个接口的实现类时,就要修改很多源代码,耦合度高,所以IoC/DI 就是完成对象的解耦合的。

3. 高内聚,低耦合

  • 高内聚 是指 模块内的功能联系紧密。
  • 低耦合 是指 模块间的联系,接口的复杂程度低。

二、AOP ----- 面向切面编程(Aspect Oriented Programming)

1. 描述:面向切面编程,扩展功能而不修改源代码,而是横向扩展,增强

2. AOP的底层实现

代理机制:

(1)JDK的动态代理:针对实现了接口的类产生代理。
(2)Cglib的动态代理:针对没有实现接口的类产生代理。

===============================================================

3. AOP开发中的概念

1,JoinPoint(连接点):所谓连接点是指那些被拦截的点,而spring中这些点就是指方法,因为spring只支持方法类型的连接点。

2,PointCut(切入点):所谓切入点就是指我们要对那些JoinPoint进行拦截的定义。

3,Advice(通知/增强):所谓通知/增强,就是指拦截到JoinPoint后需要完成的事情。他分为前置通知/增强,后置通知/增强,异常通知/增强,最终通知/增强,环绕

通知/增强(切面要完成的功能);

4,Introduction(引介):引介是一种特殊的Advice,在不修改代码的前提下,引介可以在运行期为类动态的添加一些方法或Field。

5,Target(目标):代理对象的目标对象(要增强的类)

6,Weaving(织入):把Advice应用到Target的过程

7,Proxy(代理):一个类被AOP注入增强后,就产生了一个结果代理类

8,Aspect(切面):是PointCut和Advice(Introduction)的结合

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章