springboot入门

1 springboot实现的两种方式

一:创建maven工程。添加起步依赖(依赖一个父工程;添加web依赖(点进去可发现内集成了很多其他依赖,如starter,json,tomcat等);引导程序,入口,启动类,@SpringBootApplication
二: 创建spring initializr工程。 创建工程时不选择maven而是选择spring initializr。然后去勾选相关依赖。
 
启动SpringBoot工程:直接启动启动类的主方法即可(默认集成了tomcat:8080)
 

2 原理分析

查看 `spring-boot-starter-parent`可发现父类的各种依赖
自动配置
查看 @SpringBootApplication可发现它会自动给 META-INF/spring.factories 文件下的类实例化,故需对自己的类管理也需新建这个配置文件用于管理类
 
配置文件,maven会去项目src/main/resources下寻找配置文件,可以.yml,.yaml,.properties文件,且加载顺序是先加载yml文件,然后yaml,最后properties,所以如果存在覆盖(即有相同属性的配置),properties文件的配置会覆盖前两者
 
热部署:3步,引入依赖及插件,开启自动构建工程, Shift + Ctrl + Alt + /:选择registry,弹出框选择 compiler.automake.allow.when.app.running 勾选上即可,非必需
 

 

3 springboot集成mybatis

通过spring initializr创建maven工程springboot-mysql-redis,并且勾选相关依赖(web、数据库驱动、mybatis
 
编写mapper接口以及映射文件,接口中要添加 @Mapper注解
 
配置文件application.yml中配置数据库(注意URL后需要携带服务时区serverTimezone=UTC),mybatis:mapper-locations:映射文件,及别名、日志等
 

4 集成spring data redis

在pom文件中添加Redis依赖用于启动Redis
配置IP、端口,可以不配,不配就是默认的
在UserServiceImpl类中注入RedisTemplate对象,更新类中的findAll方法
 

5 集成jpa

jpa :Java Persistence API,Java持久层API,nosql
 
创建工程时勾选相关依赖(web启动类,数据库驱动,Spring Data JPA)
pojo类中添加@entity,及@table(name=“表名”),主键上添加@id注解,mysql主键自增添加 @GeneratedValue(strategy = GenerationType.IDENTITY),字段中添加@column并给name赋值字段名,若是字段名与属性名一致则column注解可省,但字段名不能使用小驼峰式
接口继承JpaRepository<entity类,主键属性>,继承了增删改查方法,增改均为save方法,取决于是否携带id

 

6 计时器

cron是固定时间进行处理
fixedRate任务执行间隔是两次任务是开始点,如果执行时长超过间隔,那么会在任务执行结束后立刻执行下一次,除非用@Async注解了
fixedDelay任务执行间隔是前次任务结束和下次任务开始点
cron都是按照整点来运行的,比如5秒一次,他会在0,5,10…秒运行,如果那个时间点还没运行结束,那么就会跳过这次任务。
原文地址:https://www.cnblogs.com/21556guo/p/13903251.html