ideal 建立maven 專案
阿新 • • 發佈:2020-09-22
一 準備工作,已經配置好了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(); } }