JDK动态代理概述

举报
西红柿炒鸡蛋儿 发表于 2022/02/21 22:46:58 2022/02/21
【摘要】 动态代理:基于反射机制掌握程序1.什么是动态代理:  使用jdk的反射机制,创建对象的能力,创建的是代理类的对象,而不用你创建类文件,不用写java文件。动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。jdk动态代理,必须有接口,目标类必须实现接口,没有接口时,需要使用cglib动态代理。 2.知道动态代理能做什么?可以在不改变原来目标方法功能的前提下,可以在代理中增强自己的功...

动态代理:基于反射机制

掌握程序

1.什么是动态代理:

  使用jdk的反射机制,创建对象的能力,创建的是代理类的对象,而不用你创建类文件,不用写java文件。

动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。

jdk动态代理,必须有接口,目标类必须实现接口,没有接口时,需要使用cglib动态代理。

 

2.知道动态代理能做什么?

可以在不改变原来目标方法功能的前提下,可以在代理中增强自己的功能代码。

程序开发中的意思:

 比如:你所在的项目中,有一个功能是其他人写好的,你可以使用。

 

你发现这个功能,有缺点,不能完全满足我项目的需要,我需要在方法后,自己再增加功能,用代理实现调用,增加自己代码,不用去改我原来的文件。

 

一.代理

代购、中介、换ip、商家等等


比如有一家美国的大学,可以对全世界招生,留学中介(代理)

留学中介(代理):帮助这家美国的学校招生,中介是学校的代理,中介是代替学校完成招生功能。

代理特点:

1.中介(代理)要做的要做的事情是一致的:招生

2.中介是学校的代理,学校是目标。

3.家长--中介(介绍学校,办理入学手续)-----美国学校

4.中介(代理)不能白干活,需要收取费用。

5.中介(代理)不让你访问到目标(学校)。

 

为什么要找中介?

1.中介是专业的,方便

2.家长现在不能自己去找学校,家长没有能力访问学校,或则美国学校不接受个人来访。

 

二.在开发中也会有这样的情况:

你有a类,本来是调用c类的方法,完成某个功能,但是c不让a调用。

a----不能直接调用c的方法。

ac之间创建一个b代理,cb访问。

a ---访问b----访问c

 

三.使用代理模式的作用

  1.功能增强:在你原有的功能上,增加了额外的功能,新增的功能,叫做功能增强。

  2.控制访问:代理类不让你访问目标,例如:商家不让用户访问厂家。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。