SpringBoot 虽然很多配置项都是自动配置的,但是有时候某些配置项需要手动配置。以及通过一些模块来简化 SpringBoot 的开发,提升开发的效率。


        

最佳实践

开发小工具

非常实用的一些开发小工具

Lombok

简化 JavaBean 的开发,可以不用写重复的构造方法,getter 和 setter 以及 toString 方法。能写出这样的代码真的是天才👍👍。

<dependency>
	<groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactid>
</dependency>

安装 idea 的 Lombok 插件。不过我这个版本它自己预装了,没有的话还是要去装一个。

QQ截图20210628104113

相关的注解

  • 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 项目

QQ截图20210628133709.png

设置项目名和包名

QQ截图20210628133648.png

选择需要导入的场景

QQ截图20210628133837.png

点击 Finish ,开始构建项目。即可构建成为一个 SpringBoot 项目。

QQ截图20210628134128.png