后台接手一个老项目的统计界面,统计最近21周的数据,返回结果是一组数组:[{"A字段":"A1值"","B字段":"B1值","week1":1,"week2":1,"week3":2,......,"week21":3},{"A字段":"A2值","B字段":"B2值","week1":5,"week2":3,"week3":12,...,"week21":7},......]封装的结果对象为:publicclassStatRetClass{privateStringAfield;privateStringBfield;privateIntegerweek1;privateIntegerweek2;......privateIntegerweek21;}之后,业务改为统计最近27周的数据,所以类改为:publicclassStatRetClass{privateStringAfield;privateStringBfield;privateIntegerweek1;privateIntegerweek2;......;私人整数week22;私人整数week23;私人整数week24;私人整数week25;私人整数week26;privateIntegerweek27;}之后修改了很多次,最新的改成了79周。每次修改都要写大量的weekX字段,以及对应的get&set方法(也可以用lombok)。那么有没有办法在尽量少修改代码的情况下支持统计周数的调整。方案weekX字段不是硬编码的,而是在创建对象时动态添加的。这里cglib是用来动态生成属性的。首先将统计的周数提取出来作为配置变量WEEKCOUNT,这样可以通过配置系统动态修改该值。publicstatic
