获取分表实现类
1.实现aware方法,会让这个application拿到全部的bean
2.所有的service都实现了AbstractReport这个接口,所以map里的bean都是service
(map<implName,AbstracReport>)
3.项目启动会把所有bean放到serviceImpMap里
4.找到对应的bean,都是调用最新的-->在一个年份配置表里 :(getServiceImpl())方法
获取分表注解
mapper进行查询的时候,传入一个initdate,注解会根据这个date自动拼接上对应的表名
--------------
String yourname = “aviator”;
Map<String, Object> env = new HashMap<String, Object>();
env.put("yourname", yourname);
String result = (String) AviatorEvaluator.execute(" 'hello ' + yourname ", env);
System.out.println(result);
execute的时候‘’内的是str,后面拼接的为对应map里的key,会和map的value进行计算
-----------------------
@Accessors 注解详解
只注入set或者get其中一个方法,chain=ture的时候表示set方法会返回这个值
-----------------------
Bigdecimal
1.构造器需要判空
2.equals需要对scale进行判断,(小数位)
构造方法入参为空的坑
传入字符串为
null时就会报错,所以这里要对传入的字符串进行判空。
new Bigdecimal()传入Str
* equals
方法的坑
* BigDecimal的equals方法不仅仅比较值的大小是否相等,首先比较的是scale
(scale是bigdecimal的保留小数点位数,比如new Bigdecimal("1.001"),scale为3Bigdecimal.ZERO的scale为0。),也就是说,不但值得大小要相等,保留位数也要相等,
equals才能返回true
System.out.println("a.compareTo(BigDecimal.ZERO)==0:"+(a.compareTo(BigDecimal.ZERO)==0));