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

IOC:

IOC 的思想: Spring 容器来实现这些相互依赖的对象的创建、协调工作。对象只需要关心业务逻辑本身。

IOC 容器的执行步骤:

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

射调用类中 setProperty 方法将事先保存在 HashMap 中的类属性注入到类中)

Spring通过 反射 来进行注入。Spring将我们配置的信息保存在一个 HashMap 中,HashMap 的 key 就是 Bean 的 idvalue 就是 Bean 本身。

AOP

AOP 的配置

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

Spring AOP 的核心-
ProxyFactoryBean

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

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

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

JdkDynamicAopProxy 类实现了 AopProxy ,能够返回 Proxy ,并且,其自身也实现了 InvocationHandler 角色。也就是说,当我们使用 proxy 时,我们对 proxy 对象调用的方法,都最终被转到这个类的 invoke() 方法中。

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

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

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

(有关动态代理的知识点将在之后细说)

原文 

https://segmentfault.com/a/1190000022634925

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 【逆流而上】[Spring]IOC、AOP知识要点

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址