目录
SpringBoot应用应该如何开发
引入场景依赖
SpringBoot官方:场景依赖
场景启动器引入后,查看自动配置了哪些,引入场景后,一般对应的自动配置都生效了。
也可在配置文件中配置 debug 的属性值为 true ,开启自动配置报告
application.properties 文件
server.port=8888
# 开启自动配置报告
debug=true
修改配置
banner 配置修改
比如,我们在启动 SpringBoot 时,控制台会打印 SpringBoot Logo 以及版本信息。SpringBoot 有一个接口 org.springframework.boot.Banner 是专门来做这个操作:
1、文本格式: org.springframework.boot.ResourceBanner
SpringBoot 会读取配置项 banner.txt 和 banner.location,从配置项中获取真实的文件地址;如果配置中没有配置,会把配置项作为文件去加载;
src/main/resource/banner.txt
${AnsiColor.BRIGHT_YELLOW}
// _ooOoo_ //
// o8888888o //
// 88" . "88 //
// (| ^_^ |) //
// O\ = /O //
// ____/`---'\____ //
// .' \\| |// `. //
// / \\||| : |||// \ //
// / _||||| -:- |||||- \ //
// | | \\\ - /// | | //
// | \_| ''\---/'' | | //
// \ .-\__ `-` ___/-. / //
// ___`. .' /--.--\ `. . ___ //
// ."" '< `.___\_<|>_/___.' >'"". //
// | | : `- \`.;`\ _ /`;.`/ - ` : | | //
// \ \ `-. \_ __\ /__ _/ .-` / / //
// ========`-.____`-.___\_____/___.-`____.-'======== //
// `=---=' //
// ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ //
// 佛祖保佑 永不宕机 永无BUG //
${AnsiColor.BRIGHT_RED}
Application Version: ${application.version}${application.formatted-version}
Spring Boot Version: ${spring-boot.version}${spring-boot.formatted-version}
属性设置说明:
- ${AnsiColor.BRIGHT_RED}:设置控制台中输出内容的颜色,参考org.springframework.boot.ansi.AnsiColor
- ${application.version}:获取MANIFEST.MF文件中的版本号,这就是为什么要在Application.java中指定 SpringVersion.class
- {application.formatted-version}:格式化后的{application.version}版本信息
- ${spring-boot.version}:Spring Boot的版本号
- {spring-boot.formatted-version}:格式化后的{spring-boot.version}版本信息
src/main/resource/application.properties
server.port=8888
# 开启自动配置报告
debug=true
# banner 图,默认也是读取 类路径下的 banner.txt
spring.banner.location=banner.txt
2、 图片格式:org.springframework.boot.ImageBanner
SpringBoot 加载配置项banner.image.location,从配置项中获取真实的路径,SpringBoot 会根据配置项的路径加载文件。
如果没有配置banner.image.location,转而依次加载banner.gif、banner.jpg、 banner.png这三个中存在的文件;
修改方式与上面 txt 格式一样。
自定义增加或替换组件
根据实际开发场景需要,自定义组件加入Spring 容器或者替换默认的组件。
lombok 简化开发
- IDEA 安装lombok插件
Settings —— Plugins —— 搜索安装 lombok 插件 - 引入lombok的maven依赖
<!--lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
- 使用lombok简化开发
/**
* @author 任缥缈
* @date 2021年12月18日 17:13
*/
@Data // get and set 方法
@ToString // toString 方法
@NoArgsConstructor // 无惨构造器
@AllArgsConstructor // 全参构造器
public class Dept {
private String name;
}
@Slf4j 日志注解
在类上添加 @Slf4j 注解,实现在控制台输出自定义日志信息的功能
package com.rpm.springboot.bean;
import lombok.extern.slf4j.Slf4j;
/**
* @author 任缥缈
* @date 2021年12月18日 15:44
*/
@Slf4j
public class User {
public User() {
log.info("创建了User实例对象");
}
}
dev-tools 热更新
dev-tools的作用:项目中代码修改后,实现不手动重启项目,就能实时更新修改内容。
添加 Maven 依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
代码或者配置修改后, Ctrl + F9 (Build Project) 即可更新修改。其实质上是自动重启应用。
Spring Initailizr
在IDEA中可以使用 Spring Initailizr 快速创建一个SpringBoot应用。
- 创建项目,选择 Spring Initailizr 进行初始化引导
- 选择 SpringBoot 版本 及需要添加的场景依赖
- 项目结构