Spring动态代理小白讲解

网上一搜索出来的就是什么一堆源码分析,什么什么的,就离谱,反射的章节就有基础的源码,需要你摆出来么?

看不下去了,所以用通俗的语言给初学Spring的 小伙伴们解释一下Spring框架使用的原因

 

在解释Spring之前 ,先回顾一下面向对象   User user =new User()

首先要搞懂  左边 是引用 右边 是对象

这是两个不同的东西 

 

接下来Spring的 核心容器IOC 

这里面存放了 所有通过Spring 创建的对象 

 

用通俗的语言描述动态代理

我们使用Spring 每次拿的对象都是IOC里面拿出来的 User  user =applicationContext.getBean("user",User.class); 

User可以是一个接口   也可以是一个实现类

动态代理的 原理就是 假定 你原来拿到的是A对象  但是你进行了一些增加了 功能什么之类的 操作之后  applicationContext.getBean("user",User.class);这个给你的对象就不再是原来的A对象,而是实现了A功能并且加强了公功的B对象

这个B对象可能是User这个接口的实现类  或者 是User这个类的子类

这里就来了 user = B   一个父类引用指向了 子类对象 (多态) 

从而实现了  不修改源代码的情况 增强功能   

这就是为什么要使用 Spring的原因   

总结: 为什么使用Spring  因为可以在不修改源代码的情况下  让引用指向不同的对象。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值