Spring Boot笔记

遇到的问题

问题1:

OneToMany错误
解决方法:

@JsonIgnore

@OneToMany(mappedBy ="publisher")

@JsonIgnore作用是json序列化时将java bean中的一些属性忽略掉,序列化和反序列化都受影响。

在使用@JsonIgnore注解的时候,导包总是出错,com.fasterxml.jackson.annotation.JsonIgnore 这是正确的
包,可是不存在。后来手动在build.gradle中添加compile group: 'com.fasterxml.jackson.core', name: 'jackson-annotations', version: '2.9.0.pr2' 才成功。
后来发现,即使不使用@JsonIgnore也没问题,而且使用H2和mysql都没问题。

问题2:

忘记加泛型: private List books;

Caused by: org.hibernate.AnnotationException: Collection has neither generic type or OneToMany.targetEntity() defined: org.test.entity.Author.books

解决方法: private Listbooks;

笔记

StartupRunner

StartupRunner会在程序启动时首先执行,而且只执行一次。可以在这个方法中执行初始化写操作。
但是,遇到异常,会导致程序停止运行,需要进行try/catch处理。

定时任务

@Scheduled(fixedRate=2000):上一次开始执行时间点后2秒再次执行;
@Scheduled(fixedDelay=2000):上一次执行完毕时间点后2秒再次执行;
@Scheduled(initialDelay=1000, fixedDelay=2000):第一次延迟1秒执行,然后在上一次执行完毕时间点后2秒再次执行;
@Scheduled加在定时执行的方法上。
@EnableScheduling加在程序入口的类上,该注解的作用是发现@Scheduled的任务并后台执行。

你可能感兴趣的:(Spring Boot笔记)