SpringBoot 虽然很多配置项都是自动配置的,但是有时候某些配置项需要手动配置。以及通过一些模块来简化 SpringBoot 的开发,提升开发的效率。
最佳实践
- 引入场景依赖
- 查看自动配管了哪些(选做)
- 自己分析,引入场景对应的自动配置一般都生效了
- 配置文件中 debug = true 开启自动配置报告。Negative (不生效) / Positive (生效)
- 是否需要修改
- 参照文档修改配置项
https://docs.spring.io/spring-boot/docs/current/reference/html/appendix-application-properties.html#common-application-properties - 自己分析。xxxxProperties绑定了配置文件的哪些。自定义加入或者替换组件
@Bean、@Component…… - 自定义器 XXXXXCustomizer;
- …..
- 参照文档修改配置项
开发小工具
非常实用的一些开发小工具
Lombok
简化 JavaBean 的开发,可以不用写重复的构造方法,getter 和 setter 以及 toString 方法。能写出这样的代码真的是天才👍👍。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactid>
</dependency>
安装 idea 的 Lombok 插件。不过我这个版本它自己预装了,没有的话还是要去装一个。
相关的注解
- Data 注解:用于生成 JavaBean 中的 setter 、getter 和 toString 方法。
- AllArgsConstructor 注解:用于生成 JavaBean 中的带全部参数的构造方法
- NoArgsConstructor 注解:用于生成 JavaBean 中的带无参数的构造方法
- ToString 注解:用于生成 toString 方法,在 Data 注解中已经包含过
- Slf4j 注解:用于输出日志。
使用示例
给 Car 类,自动生成 getter 和 setter 方法。
@Data
public class Car {
private String brand;
private Integer price;
}
给 Pet 类生成一个不带参数的构造方法、带全部参数的构造方法和 toString 方法。
@AllArgsConstructor // 有参数的构造方法
@NoArgsConstructor // 无参数的构造方法
@ToString
public class Pet {
private String name;
}
在控制层中输出日志
@Controller
@RequestMapping("/hello")
@Slf4j
public class HelloController {
@RequestMapping("/springboot2")
@ResponseBody
public String hello() {
log.info("请求进来了~");
return "Hello, SpringBoot2!";
}
}
dev tools
dev tools 可以在不点击 idea 的项目重启按钮的情况些,通过项目构建(ctrl + f9)的方式来对项目进行更新。不过这种项目更新实质上是重启 SpringBoot 项目。
相关的依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
其实这不算是热更新部署,它仅仅是对项目进行重启而已。甚至在有些电脑,即使加载了 dev tools 重启也无济于事。
Spring Initializer
它是一个 SpringBoot 的项目初始化向导,通过可视化界面,选择需要引入的场景即可成功的构建成为一个 SpringBoot 项目
设置项目名和包名
选择需要导入的场景
点击 Finish ,开始构建项目。即可构建成为一个 SpringBoot 项目。
请勿发布违反中国大陆地区法律的言论,请勿人身攻击、谩骂、侮辱和煽动式的语言。