静态代理
接口:
public interface SomeService {
String doFirst();
void doSecond();
}
实现类:
public class SomeServiceImpl implements SomeService {
public String doFirst() {
System.out.println("doFirst...");
return "abc";
}
public void doSecond() {
System.out.println("doSecond...");
}
}
现在需要实现:将doFirst()的返回值转化为大写,并且不能修改原类方法
/**
* 代理类实现对doFirst返回值转为大写
*/
public class SomeServiceProxy implements SomeService {
private SomeService someService;
public SomeServiceProxy() {
someService = new SomeServiceImpl();
}
public String doFirst() {
return someService.doFirst().toUpperCase();
}
public void doSecond() {
someService.doSecond();
}
}
动态代理