黑马程序员
五十一
同Java技术四的五十创建动态类的对象及调用其方法。
五十二
同五十
五十三
让动态生成的类成为目标类的代理
---怎样将目标类传进去?
直接在InvocationHandler实现类中创建目标类的实例对象,可以看运行效果和加入日志代码,但没有实际意义。
为InvocationHandler实现类注入目标类的实例对象,不能采用匿名内部类的形式了。
让匿名的 InvocationHandler实现类访问外面方法中的目标类实例对象的final类型的引用变量。
将创建代理的过程改为一种更优雅的方式,eclipse重构出一个getProxy方法绑定接收目标同时返回代理对象,让调用者更懒惰,更方便,调用者甚至不用结束任何代理的API。
把系统功能代码模块化,即将切面代码也改为通过参数形式提供,怎样把执行的系统功能代码以参数形式提供?
---把要执行的代码装到一个对象的某个方法里,然后把这个对象作为参数传递,接收者只要调用这个对象的方法,即等于执行了外界提供的代码!
---为bind方法增加一个Advice参数。
五十四
同五十三
五十五
通行的契约
Spring就有动态代理的应用。
五十六
实现AOP功能的封装与配置
工厂类BeanFactory负责创建目标类或代理类的实例对象,并通过配置文件实现切换。其getBean方法根据参数字符串返回一个相应的实例对象,如果参数字符串在配置文件中对应的类名不是ProxyFactoryBean,则直接返回该类的实例对象,否则,返回该类实例对象的getProxy方法返回的对象。
BeanFactory的构造方法接收代表配置文件的输入流对象,配置文件格式如下:
#xxx=java.util.ArrayList
xxx=cn.itcast.ProxyFactoryBean
xxx.target=java.util.ArrayList
xxx.advice=cn.itcast.MyAdvice
ProxyFactoryBean充当封装成动态代理的工厂,需要为工厂类提供哪些配置参数信息?
---目标
---通知
编写客户端应用:
---编写实现Advice接口的类和在配置文件中进行配置
---调用BeanFactory获取对象
android黑马程序员 简历 黑马程序员安卓105期
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。

提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
黑马程序员Android培训 黑马程序员培训视频
GET方法
黑马程序员Android培训 -
java黑马程序员 java黑马程序员ppt
一、什么是软件 软件就是一系列按照特定顺序组织的计算机数据和指令的集合 二、什么是开发 &nbs
java黑马程序员 java 首字母 数据类型 -
黑马程序员python15期 黑马程序员python讲义
第二章什么是字面量?在代码中被写下来的固定的值为字面量 注释:在程序代码中对程序代码进行解析说明的文字 作用:注释不是程序,不能被执行,只是对程序进行解释说明,让别人可以读懂代码的作用,能够到大大争强程序大可读性。 3.变量 4.数据类型
黑马程序员python15期 python Powered by 金山文档 字符串 程序代码 -
黑马程序员MySQL资料 黑马程序员介绍
1..Net/dotnet:一般指.Net FrameWork 框架、一种平台、一种技术。 C#:一种编程语言,可以基于.net平台应用,它简化了C++语言在类、命名空间、方法重载和异常处理等方面的操作,它摒弃了C++的复杂性,更易使用,更少出错。它使用组件编程,和VB一样容易使用。2.C/S(Client/Server)架构:基于操作系统平台的客户机/服务器架构 Winform :桌面应用程序
黑马程序员MySQL资料 windows phone radiobutton powerpoint .net