Spring IOC简单的理解

AOP意思是:面向切面编程。好处:能够降低耦合度、提高程序的可重用性、开发效率。
直白语言解释:就是调用一个方法之前或者之后,自动执行的一系列自定义语句。

底层原理:使用代理的机制。

  • 接口 + 实现类 : 使用jdk动态代理。
  • 只有实现类 :spring采用cglib字节码增强,在运行时创建目标类的子类,从而对目标类增强。

术语

  1. target:目标类,需要被代理的类,例如:UserService
  2. Joinpoint:连接点,可能会被拦截的方法,例如:UserService里面的所有方法 —>厕所里面的的所有坑
  3. PointCut:切入点,已经被增强的连接点。例如:addUser() —>被使用的坑
  4. advice:通知/增强,增强的代码、切面的工作被称为通知。例如after、before
  5. weaving:织入。把增强应用到目标对象target来创建新的代理对象的过程
  6. aspect:切面。切入点(PointCut)和通知(advice)的结合。一个切入点和一个通知,就能组成一个特殊的面。

主要的应用:事务管理、性能监控、安全检查、缓存、日志。

IOC:控制反转,控制权的转移。把权限转移给spring的ioc容器管理。(ioc容器用于与其他框架整和)
DI:对IOC这种思想的操作。容器通过反射给属性赋值。

简单的IOC原理

  1. 加载xml的配置文件,遍历其中的标签(使用dom4j)
  2. 获取标签中的 id 和 class 属性,加载 class 属性对应的类,并创建 bean
  3. 遍历标签中的标签,获取属性值,并将属性值填充到 bean 中
  4. 将 bean 注册到 bean 容器中

你可能感兴趣的:(Spring IOC简单的理解)