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 Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,107评论 19 139
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,993评论 6 342
  • JAVA序列化机制的深入研究 对象序列化的最主要的用处就是在传递,和保存对象(object)的时候,保证对象的完整...
    时待吾阅读 10,963评论 0 24
  • Spring核心功能 DI(IOC) 何谓DI(IOC) DI(依赖注入)是spring的核心功能之一。Depen...
    尘世的鱼阅读 3,949评论 1 11
  • by 懒癌患者格蕾丝 不知道你有没有看过最近很火的那个台湾104基金会拍的《Be A Giver》的视频。 几份隐...
    格蕾丝要努力阅读 292评论 0 2