标签:Object 创建 object maven ideal Fruit cglib println public
一 准备工作,已经配置好了maven 环境 。没有的话,参考我的上一篇笔记。
二,ideal相关配置
打开ideal 找到设置。 file ------->setting 。 点击进入。
三,创建maven项目
三, 演示导入jar包,cglib 代理 为例子。
package com.ohs.cglib; /** * * cglib 代理的强大在于,就算没有接口实现,也能做代理 * * 这里定义一个简单的水果类对象 */ public class Fruit { void run1(){ System.out.println("我是苹果"); } void run2(){ System.out.println("我是香蕉"); } }
package com.ohs.cglib; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; import java.lang.reflect.Method; /** * 1. * 这里导入jar包的时候,我的电脑反应有点慢。等会就好了,不行就build 一下项目 * 前提是确定在pom.XML 文件中已经有了 cglib的依赖 * * 2. * 这就是水果的打理商。 * * */ public class FruitShopProxy implements MethodInterceptor { // 注入需要代理的对象 private Object object; public Object getInstnce(Object object){ this.object = object; Enhancer enhancer = new Enhancer(); enhancer.setSuperclass(this.object.getClass()); enhancer.setCallback(this); //创建真实的代理对象 return enhancer.create(); } public Object intercept(Object object, Method method, Object[] args, MethodProxy methodProxy) throws Throwable { System.out.println("开始卖水果了"); methodProxy.invokeSuper(object,args); System.out.println("水果卖完了。"); return null; } }
package com.ohs.cglib; public class Test { public static void main(String[] args) { Fruit fruit = new Fruit(); FruitShopProxy fruitShopProxy = new FruitShopProxy(); //注意类型转换 Fruit fruitShopProxyInstnce = (Fruit) fruitShopProxy.getInstnce(fruit); fruitShopProxyInstnce.run1(); } }
标签:Object,创建,object,maven,ideal,Fruit,cglib,println,public 来源: https://www.cnblogs.com/ZXF6/p/13714991.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。