用反射及动态代理模拟Spring

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

摘要

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

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

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

解析xml,创建对象

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

在这里插入图片描述

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

注入依赖

在这里插入图片描述

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

动态代理实现AOP

参考<动态代理>一文.

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值