5月12日周五
计划
执行
10点54分 才忙完户口的事,开始
11点41分 真喜欢浪费时间,你
13点49分 下午,代码一个都别删,用调试
15点30分 看不懂了,加油,感觉是删不了这个setting了
记录
问题想法
- 重点读代码,读代码
- systemservice的updateDatabase首先就被执行了,不要不行,而这里面就用了settingservice,然,InitSystem也用到 systemService.updateDataBase();
已解决
- 真的就是dao层与mapper层的方法一 一对应
- 废弃 role字段,但是不删除:mybatis需要修改
- PostConstruct修饰的方法会在服务器加载Servlet的时候运行,并且只会被服务器执行一次
- PostConstruct在构造函数之后执行,init()方法之前执行
他修饰了initsystem的init()
知识
1. 关于adapter适配器
- 用户model适配器,将DTO转为Model,将Model转为DTO
- 避免暴露敏感数据和修改不允许修改得数据
2. 静态代码块
private static final LinkedHashMap<Integer, String> CHANGE_SQL_MAP = Maps.newLinkedHashMap();
static{}
这段代码定义了一个静态的、不可变的LinkedHashMap对象CHANGE_SQL_MAP,用于存储数据库表中的修改语句。在静态代码块中,使用Maps.newLinkedHashMap()方法初始化该对象,并添加了一些修改语句。
静态代码块是在类被加载时执行的代码块,可以用于初始化静态变量或执行一些初始化操作。在本段代码中,静态代码块的作用是初始化CHANGE_SQL_MAP对象。由于该对象是不可变的,因此只需要在静态代码块中添加修改语句即可,避免了在其他地方修改该对象的风险。
可以通过调用CHANGE_SQL_MAP对象的get()方法获取指定键对应的修改语句,从而避免在代码中硬编码修改语句,提高了代码的可维护性和可读性。