静态代理
接口:
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();
}
}

动态代理
本文深入探讨了静态代理的概念及其实现方式,通过具体示例展示了如何在不修改原类的情况下,对方法的返回值进行转换。同时,文章对比了静态代理与动态代理的区别,帮助读者理解两者在实际开发中的应用场景。
119

被折叠的 条评论
为什么被折叠?



