package com.gqc.proxy;
import com.gqc.service.ISomeService;
import com.gqc.service.SomeServiceImpl;
//代理类
public class SomeServiceProxy implements ISomeService {
private ISomeService target;
public SomeServiceProxy() {
target = new SomeServiceImpl();
}
public String dofirst() {
String result = target.dofirst();
//增强就发生在这里
return result.toUpperCase();
}
public void doSecond() {
target.doSecond();
}
}
package com.gqc.service;
//主业务接口
public interface ISomeService {
//目标方法
String dofirst();
void doSecond();
}
package com.gqc.service;
//目标类
public class SomeServiceImpl implements ISomeService {
public String dofirst() {
System.out.println("执行dofirst");
return "abcde";
}
public void doSecond() {
System.out.println("执行doSecond");
}
}
package com.gqc.test;
import com.gqc.proxy.SomeServiceProxy;
import com.gqc.service.ISomeService;
import com.gqc.service.SomeServiceImpl;
public class MyTest {
public static void main(String[] args) {
ISomeService service=new SomeServiceProxy();
String result = service.dofirst();
System.out.println("result="+result);
service.doSecond();
}
}