有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java方法:使用AOP和反射修改复杂数据

我已将spring应用程序配置如下:

 // Spring MVC controller
 @Controller
 HelloController {  

   @ResponseBody
   Student getData() {
    return student from database;
    }
 }

public Class Student {

 @Trim(device = "mob", trim=10)
 @Trim(device = "desktop", trim=100)
 String name ;

 Address address;

}

public class Address {

 @Trim(device = "mob", trim=10 )
 @Trim(device = "desktop", trim=100 )
 String addressInfo

 }

要求:

Controller返回Student之后,根据Annotation修改Student对象及其内部的所有复杂属性, 例如,如果请求来自移动设备,请将学生姓名修剪为10,依此类推

我能想到的方法:

  1. 使用注释和修改字段对字段进行递归迭代。 每次对类字段的迭代都可能非常繁忙,因为类很复杂,可以嵌套多达n个级别

  2. 在服务器启动时创建一个带注释字段的列表,然后在该列表上迭代,并将更改应用于目标对象

    我目前正在两种方法中苦苦挣扎。所以我想知道是否存在一些预构建的解决方案或设计模式来处理此类场景


共 (1) 个答案