六SpringBoot2核心技术——开发小技巧(lombokdev-toolsSpring Initailizr)

Posted 上善若水

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了六SpringBoot2核心技术——开发小技巧(lombokdev-toolsSpring Initailizr)相关的知识,希望对你有一定的参考价值。

一、lombok

主要用于简化bean开发,提供了简单的注解的形式来帮助我们简化消除一些必须有但显得很臃肿的java bean代码。常用注解如下:

  • @Data 注解在类上;提供类所有属性的 getting 和 setting 方法,此外还提供了equals、canEqual、hashCode、toString 方法
  • @Setter :注解在属性上;为属性提供 setting 方法
  • @Getter :注解在属性上;为属性提供 getting 方法
  • @Log4j :注解在类上;为类提供一个 属性名为log 的 log4j 日志对象
  • @NoArgsConstructor :注解在类上;为类提供一个无参的构造方法
  • @AllArgsConstructor :注解在类上;为类提供一个全参的构造方法
  • @Cleanup : 可以关闭流
  • @Builder : 被注解的类加个构造者模式
  • @Synchronized : 加个同步锁
  • @SneakyThrows : 等同于try/catch 捕获异常
  • @NonNull : 如果给参数加个这个注解 参数为null会抛出空指针异常
  • @Value : 注解和@Data类似,区别在于它会把所有成员变量默认定义为private final修饰,并且不会生成set方法。

1.1、加入依赖

SpringBoot中几乎声明了所有开发中常用的依赖的版本号,自动版本仲裁机制。因此,加入lombok依赖时,可以不写版本号。

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

1.2、如何使用

简化bean开发:

package com.xbmu.bean;

import lombok.*;

@Data
@NoArgsConstructor
@AllArgsConstructor
@ToString
@EqualsAndHashCode
public class User {
    private String name;
    private Integer age;
    private Pet pet;
}

简化日志开发

package com.xbmu.controller;

import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
public class HelloController {
    @RequestMapping("/hello2")
    public String sayHello2(@RequestParam("name") String name)
    {
        log.info("======进来了======");
        return "Hello , Spring Boot2 !"+name+",先生";
    }
}

在这里插入图片描述
在这里插入图片描述

二、自动加载工具:dev-tools

官方文档:https://docs.spring.io/spring-boot/docs/current/reference/html/using.html#using.devtools

2.1、加入依赖

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-devtools</artifactId>
        <optional>true</optional>
    </dependency>

使用spring-boot-devtools的应用程序将在类路径上的文件发生更改时,自动重新启动。
这里多了一个optional,为true表示项目在打包的时候不会被打包进项目中。此时,只要classpath下的文件发生变化,项目就会自动重启,这极大的提高了项目的开发速度。
要是项目自动编译,idea还需要做一些简单的配置。
打开settings,勾选自动构建项目。如果idea不做配置,项目或者页面修改以后:按Ctrl+F9重新编译项目;
在这里插入图片描述在这里插入图片描述在这里插入图片描述
重启IDEA,这是你就可以使用devtools来自动构建项目了。

三、Spring Initailizr(项目初始化向导)

3.1、选择我们需要的开发场景

在这里插入图片描述在这里插入图片描述在这里插入图片描述

3.2、自动依赖引入

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.3、自动创建项目结构

在这里插入图片描述

3.4、自动编写好主配置类

package com.xbmu;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class MainApplication {

    public static void main(String[] args) {
        SpringApplication.run(MainApplication.class, args);
    }

}

以上是关于六SpringBoot2核心技术——开发小技巧(lombokdev-toolsSpring Initailizr)的主要内容,如果未能解决你的问题,请参考以下文章

十七SpringBoot2核心技术——整合Mybatis

十七SpringBoot2核心技术——整合Mybatis

八SpringBoot2核心技术——web开发(静态资源访问)

八SpringBoot2核心技术——web开发(静态资源访问)

十八SpringBoot2核心技术——整合redis

十八SpringBoot2核心技术——整合redis