【逆流而上】[Spring]IOC、AOP知识要点

IOC:

IOC 的思想: Spring 容器来实现这些相互依赖的对象的建立、协调工做。对象只须要关心业务逻辑自己。
IOC 容器的执行步骤:app

  • 资源定位,找到applicationContext.xml
  • 将XML文件中的数据统一加载到BeanDefinition中,方便后续处理
  • 经过registerBeanDefinition方法向IOC容器注入BeanDefinition数据
registerBeanDefinition(String beanName, BeanDefinition beanDefinition)
  • BeanDefinition中的数据进行依赖注入 (经过反射机制实现的,在实例化一个类时,它经过反

射调用类中setProperty方法将事先保存在HashMap中的类属性注入到类中)
Spring经过反射来进行注入。Spring将咱们配置的信息保存在一个 HashMap中,HashMap 的 key 就是 Bean 的 id, value 就是 Bean 自己。spa


AOP:

AOP 的配置
image.png
Spring AOP 的核心- ProxyFactoryBean
image.png
image.png3d

1.基于JDK面向接口的动态代理 JdkDynamicAopProxy 生成代理对象。

JdkDynamicAopProxy 类实现了 AopProxy,可以返回 Proxy,而且,其自身也实现了 InvocationHandler角色。也就是说,当咱们使用 proxy 时,咱们对 proxy 对象调用的方法,都最终被转到这个类的 invoke()方法中。
image.png代理

2.基于 Cglib 子类继承方式的动态代理 CglibAopProxy 生成代理对象

image.png
(有关动态代理的知识点将在以后细说)code

相关文章
相关标签/搜索