1.SpringBoot学习
SpringBoot是BS开发框架之一,不用单独开启tomcat服务器,目前比较流行,一般开发大型项目时会将所有的功能细分为许多小模块,每个模块都有dto、dao、service和controlleer层,有些模块还会加入validate层。
DTO | DTO层就是所谓的MODEL,DTO中定义的是实体类,也就是.CLASS文件,该文件中包含实体类的属性和对应属性的GET、SET方法 |
---|---|
dao | (dao层的文件习惯以*Mapper命名),dao层会调用dto层,dao层中会定义实际使用到的方法,比如增删改查。一般在dao层下还会有个叫做sqlmap的包,该包下有xml文件,文件内容正是根据之前定义的方法而写的SQL语句。 |
service | service层会调用dao层和dto层,service层也会对数据进行一定的处理,比如条件判断和数据筛选等等。 |
controller | controller层会调用前面三层,controller层一般会和前台的js文件进行数据的交互, controller层是前台数据的接收器,后台处理好的数据也是通过controller层传递到前台显示的。 |
2.什么情况下需要序列化呢?
1)、需要把内存中的对象状态数据保存到一个文件或者数据库中的时候,这个场景是比较常见的,例如我们利用mybatis框架编写持久层insert对象数据到数据库中时; 2)、网络通信时需要用套接字在网络中传送对象时,如我们使用RPC协议进行网络通信时;
@Data public static class DataByType implements Serializable{ private String time; private String number; }
3.@JSONField(serialize = false)
@JSONField(serialize = false) 注解,便可以在返回响应参数体的时候去除某个字段
4.@Repository和@Mapper区别
名称 | 相同点 | 不同 |
---|---|---|
@Repository | 都是注解在Dao上 | @Repository需要在Spring中配置扫描地址,然后生成Dao层的Bean才能被注入到Service层中。 |
@Mapper | 注解在Dao上 | @Mapper不需要配置扫描地址,通过xml里面的namespace里面的接口地址,生成了Bean后注入到Service层中。 |