roc*_*all 13 java javabeans java-ee java-6
我试图找到一个问题的最佳解决方案,我将映射一个简单的bean结构映射到基于浏览器的JavaScript应用程序.当前的要求是管理旧Java后端的大部分显示控制.目前我们有一个服务样式层,它生成的值对象没有内置的显示逻辑,如:
public class Example1 {
String value1;
Boolean value2;
Example3 value3;
public String getValue1(){...}
public void setValue1(){...}
....
}
Run Code Online (Sandbox Code Playgroud)
我的目标是能够在所有字段上映射通用结构,以便添加前端所需的新显示结构.我想只管理原始结构类(Example1类)结构,只需在包装器中将额外值设置为旧服务层.
通用结构将采用以下类的形式:
public class Presentable<T> {
T value;
boolean visible = true;
boolean mandatory = false;
List<String> errors = new ArrayList<>();
public T getValue() {...}
public void setValue(T value) {...}
...
}
Run Code Online (Sandbox Code Playgroud)
最终结果类似于以下内容,其中value等于原始结构中的值:
public class Example2{
Presentable<String> value1;
Presentable<Boolean> value2;
Presentable<Example3> value3;
public Presentable<String> getValue1(){...}
public void setValue1(){...}
...
}
Run Code Online (Sandbox Code Playgroud)
没有编写Example2样式类并复制每个值,是否有解决此问题的方法?我愿意修改Example1类,因为它不会影响旧服务的使用者.
谢谢.
您基本上可以将 AOP(面向方面编程)与 Spring 结合使用。在 Spring 上,您可以使用您需要的额外信息创建一个代理对象。好的起点是: http://www.mkyong.com/spring3/spring-aop-aspectj-annotation-example/
面向方面编程的官方页面: http://docs.spring.io/spring/docs/3.0.x/spring-framework-reference/html/aop.html
这个示例/答案可能很有用: Intercepting method with Spring AOP using only comments
| 归档时间: |
|
| 查看次数: |
1359 次 |
| 最近记录: |