用反射及动态代理模拟Spring.md

摘要

spring其实大概做的就三件事.

  1. 解析xml文件
  2. 从解析中创建对象, 注入依赖
  3. 从解析中为方法动态代理

本文讲的会比较简单, 因为其实也就是解析xml, 以及使用反射机制创建设置对象, 生成代理类.

解析xml,创建对象

解析有很多库了, dom4j之类都行. 创建对象使用java的反射机制. 以下直接给出网上找到的实例.

用反射及动态代理模拟Spring

具体而言, 用xml解析出节点, 然后用反射, 根据属性初始化对象.

注入依赖

用反射及动态代理模拟Spring

也是实例, 具体而已, 就是读取子配置节点, 然后用反射机制setXXX()设置属性和依赖就可以了.

动态代理实现AOP

参考<动态代理>一文.

也是xml中读出配置节点, 用<动态代理>一文中的技术和反射机制, 创建代理类及初始化代理对象.

文中基于java动态代理, 但是像gclib原理也一样, 另外现在大多使用的AspectJ实现的动态代理, 只不过实现和效率不同. 理解java动态代理实现机制即可. 具体语法仍是参考手册.

相关文章:

  • 2021-06-28
  • 2022-12-23
  • 2021-11-26
  • 2022-01-17
  • 2021-10-18
  • 2022-03-06
  • 2022-12-23
  • 2021-11-16
猜你喜欢
  • 2021-11-26
  • 2021-07-02
  • 2022-01-25
  • 2021-08-09
  • 2021-06-10
  • 2021-05-13
  • 2022-01-28
相关资源
相似解决方案