ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Spring Boot整合Lombok

2021-10-22 18:04:08  阅读:146  来源: 互联网

标签:Spring boot User Boot org import Lombok user


  Project Lombok 是一个 Java 库,可自动插入您的编辑器并构建工具,为您的 Java 增添趣味。     永远不要再编写另一个 getter 或 equals 方法,通过一个注释,您的类就有一个功能齐全的构建器,自动化您的日志变量等等。                                                                                                       ----摘自Project Lombok官网   简单地说,Project Lombok就是用来消除那些必写且重复的代码。比如,setter、getter、constructor等方法。   步骤1:Lombok的安装   IDEA-->File-->Settings-->Plugins--Marketplace,搜索Lombok,点击右侧下载,下载完成重启即可,如图:   Lombok已安装成功。

  步骤2:新建项目并引入Lombok依赖  
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.5.6</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <groupId>com.misu</groupId>
    <artifactId>springboot-lombok</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>springboot-lombok</name>
    <description>SpringBoot整合Lombok</description>

    <properties>
        <java.version>1.8</java.version>
    </properties>

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

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <!-- https://mvnrepository.com/artifact/org.projectlombok/lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.22</version>
            <scope>provided</scope>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>
  步骤3:User实体类,使用了Lombok的注解  
package com.misu.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author Tiramisu
 * @version 1.0.0
 * @since 2021/10/22 15:38
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

    private Integer id;

    private String name;

    private String password;
}

 

步骤4:Controller  
package com.misu.controller;

import com.misu.entity.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author qinjie
 * @version 1.0.0
 * @since 2021/10/22 15:42
 **/
@RestController
@RequestMapping("/user")
@Slf4j  // Lombok注解,可用于打印日志
public class UserController {

    @GetMapping("/get")
    public User getUser() {
        User user = new User();
        user.setId(1);
        user.setName("Tiramisu");
        user.setPassword("123456");
        log.info(user.toString());
        return user;
    }
}

 

步骤5:地址栏输入http://localhost:8080/user/get,如图:   从上图可以看出,User实体类中没有写相应的setter和getter方法,但是在UserController中我们却可以使用User实体类的setter方法。这就是Lombok的魅力所在:通过使用Lombok的注解,我们可以消除那些必须写但是重复的代码,使我们的代码更加简洁、优雅。   Tips:   User实体类中之所以可以使用getter/setter方法,是因为Lombok在编译阶段就为User实体类生成了相应的getter/setter方法。

 

Lombok常用注解:  
@Data	生成getter/setter/toString/equals/hashcode/不带参数的constructor等方法
@NonNull	让你不再担忧并且爱上NullPointerException
@CleanUp	自动资源管理,不用在finally中添加资源的close方法
@Setter/@Getter	生成set和get方法
@ToString	生成toString方法
@EqualsAndHashCode	从对象的字段中生成equals和hashcode的实现
@@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor	自动生成构造方法
@Value	用于注解final类
@Builder	产生复杂的构建器api类
@SneakyThrows	异常处理(谨慎使用)
@Synchronized	同步方法安全的转化
@Log	支持各种logger对象,使用时用对应的注解,如:@Slf4j 

 

 

PS:项目源码地址:https://gitee.com/itira/spring-boot.git

 

标签:Spring,boot,User,Boot,org,import,Lombok,user
来源: https://www.cnblogs.com/itira/p/15440120.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有