JDK动态代理概述
动态代理:基于反射机制
掌握程序
1.什么是动态代理:
使用jdk的反射机制,创建对象的能力,创建的是代理类的对象,而不用你创建类文件,不用写java文件。
动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。
jdk动态代理,必须有接口,目标类必须实现接口,没有接口时,需要使用cglib动态代理。
2.知道动态代理能做什么?
可以在不改变原来目标方法功能的前提下,可以在代理中增强自己的功能代码。
程序开发中的意思:
比如:你所在的项目中,有一个功能是其他人写好的,你可以使用。
你发现这个功能,有缺点,不能完全满足我项目的需要,我需要在方法后,自己再增加功能,用代理实现调用,增加自己代码,不用去改我原来的文件。
一.代理
代购、中介、换ip、商家等等
比如有一家美国的大学,可以对全世界招生,留学中介(代理)
留学中介(代理):帮助这家美国的学校招生,中介是学校的代理,中介是代替学校完成招生功能。
代理特点:
1.中介(代理)要做的要做的事情是一致的:招生
2.中介是学校的代理,学校是目标。
3.家长--中介(介绍学校,办理入学手续)-----美国学校
4.中介(代理)不能白干活,需要收取费用。
5.中介(代理)不让你访问到目标(学校)。
为什么要找中介?
1.中介是专业的,方便
2.家长现在不能自己去找学校,家长没有能力访问学校,或则美国学校不接受个人来访。
二.在开发中也会有这样的情况:
你有a类,本来是调用c类的方法,完成某个功能,但是c不让a调用。
a----不能直接调用c的方法。
在a和c之间创建一个b代理,c让b访问。
a ---访问b----访问c
三.使用代理模式的作用
(1).功能增强:在你原有的功能上,增加了额外的功能,新增的功能,叫做功能增强。
(2).控制访问:代理类不让你访问目标,例如:商家不让用户访问厂家。
- 点赞
- 收藏
- 关注作者
评论(0)