Spring Boot(三):阶段性总结

一、Controller层

    注意url命名规范,以及post、put、get和delete四类请求的区别。

二、Domain实体类层

    @JsonIdentityReference(alwaysAsId =true)根据Id序列化属性,用于多对一,构造函数需要@JsonProperty注解一个根据id解析对象的构造方法。

    @Transient注解用于创建一个临时的属性列,非持久化,不保存在数据库。

三、Server服务层

    @EnableScheduling注明这是一个定时类,@Scheduled()注明定时方法,()里可以设定定时规则。

四、Dao层

    @Query()编写查询语句时可以查询后new一个需要的对象。

五、Service层

    编写具体业务逻辑,注意算法优化,最少数据库访问次数,最少循环次数,什么时候可以空间换取时间,充分利用HashMap处理数据。

    Specification动态查询,其中关联表查询方式,如:

动态查询的关联表查询

    jdbc.batchUpdate()实现批量操作。

六、遇到的问题

    1、在多对一属性里,需要@JsonProperty来注解一个构造函数,否则后台无法根据前台传递的ID来解析对应的对象。

    2、必要时利用@Transient简化业务逻辑。

    3、dao层查询数据时参数尽量不为null。

    4、利用数据结构减少for循环和if判断,增加代码可读性及减少潜在的bug。

    5、HTTP请求:①、POST /url 创建  ②、DELETE /url/xxx 删除 ③、PUT /url/xxx 更新④、GET /url/xxx 查看

你可能感兴趣的:(Spring Boot(三):阶段性总结)