首页 > 其他分享 >第五章 Lombok

第五章 Lombok

时间:2022-10-31 12:56:52浏览次数:29  
标签:private 第五章 springframework org import Lombok lombok furn

Lombok介绍

  1. 简化 JavaBean 开发,可以使用 Lombok 的注解让代码更加简洁。
  2. Java 项目中,很多没有技术含量又必须存在的代码:POJO 的 getter/setter/toString;异常处理;I/O 流的关闭操作等等,这些代码既没有技术含量,又影响着代码的美观,Lombok 应运而生。

SpringBoot 和 IDEA 官方支持

  1. IDEA 2020 已经内置了 Lombok 插件。
  2. SpringBoot 2.1.x 之后的版本也在 Starter 中内置了 Lombok 依赖。
    常用注解

应用实例

修改 pom.xml

		<!--引入lombok ,使用版本仲裁-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>

修改 Furn.java

package com.lzw.springboot.bean;

import lombok.Data;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author LiAng
 */
@Component
@ConfigurationProperties(prefix = "furn01")
//@ToString //在编译时,生成toString, 默认情况下,会生成一个无参构造器。
/**
 * 说明:
 * 1. Equivalent to {@code @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode}
 * 2. @Data 注解等价使用了 如下注解 @Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode
 * 3. @RequiredArgsConstructor : 如下图:
 */
@Data
public class Furn {
    private Integer id;
    private String name;
    private Double price;
}

image-20220730093148362

package com.lzw.springboot.bean;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @author LiAng
 */
@Component
@ConfigurationProperties(prefix = "furn01")
//@NoArgsConstructor 在编译时,会生成无参构造器,
//当我们有其它构造器生成时,如果你希望仍然有无参构造器就需要使用@NoArgsConstructor指定一下,否则有参构造器就会覆盖无参构造器,从而代码错误
@NoArgsConstructor
//@AllArgsConstructor 在编译时,会生成全参构造器
@AllArgsConstructor
public class Furn {
    private Integer id;
    private String name;
    private Double price;
}

安装 Lombok 插件###

使用 slf4j 日志输出

修改 HiController.java

package com.lzw;

import com.lzw.springboot.bean.Furn;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import javax.annotation.Resource;

/**
 * @author LiAng
 */
@Slf4j
@Controller
public class HiController {

    //需求,website属性值 从 applicaiton.properties 的 k-v
    @Value("${my.website}")
    private String website;

    //装配到 HiController
    @Resource
    private Furn furn;

    @RequestMapping("/hi")
    @ResponseBody
    public String hi(){
        System.out.println(website);
        return "hi springboot";
    }

    @RequestMapping("/furn")
    @ResponseBody
    public Furn furn(){
        //使用 slf4j 日志输出
        log.info("furn: " + furn);
        //占位符方式输出
        log.info("furn={} myfurn={}",furn,furn);
        return furn;
    }
}

修改 Furn.java

@Component
@ConfigurationProperties(prefix = "furn01")
@AllArgsConstructor
@ToString
@Setter
@Getter
public class Furn {
    private Integer id;
    private String name;
    private Double price;
}

image-20220730094559048

标签:private,第五章,springframework,org,import,Lombok,lombok,furn
From: https://www.cnblogs.com/liangnice/p/16843906.html

相关文章

  • 第五章 web服务器 实验一
    实验要求1.要求搭建web服务器,能够访问到网页内容为“小胖,你咋这么胖呢!”2.要求搭建web服务器,创建基于域名的虚拟主机,能够使用www.xiaopang.com和www.dapang.com访问各自......
  • Lombok不常见但实用的注解
    目录@SneakyThrows@UtilityClass@CleanUp@AllArgsConstructor资料参考地址1:@SneakyThrows注解资料参考地址2:Lombok之@Cleanup使用资料参考地址3:lombok实验性注解......
  • 9.Lombok
    9.Lombok使用步骤:在IDEA安装Lombok插件在IDEA中安装Lombok插件!在项目中导入lombok的jar包<!--<https://mvnrepository.com/artifact/org.projectlombok/lombok>......
  • 第五章 中央处理器
    5.1CPU功能和组成5.2指令周期5.3时序产生器和控制方式5.4微程序控制器(重点)5.5硬布线控制器5.6流水CPU5.7RISCCPU5.8多媒体CPUCPU的功能和组成CPU的功能......
  • 第五章10
    描述 两个正整数,计算这两个数的最小公倍数。输入  仅一行,包括两个不大于1000的正整数输出 仅一行,这两个数的最小公倍数 【样例输入】1014↙【样例输出......
  • 第五章6
    描述 妈妈带着小明去购物,小明可开心啦。他知道自己的鞋码是33号,可是当他看到很多漂亮的鞋子,他做了一个贪心的决定:33、34号的鞋都买了!毕竟自己还会再长高嘛!现在营业员告......
  • 第五章9
    描述 一个数如果恰好等于它的因子之和,这个数就称为完数。例如,6的因子为1,2,3,且6=1+2+3,因此6是完数。输入 一个正整数n输出判断n是否为完数。如果是,则输出Yes和它......
  • 第五章8
    描述 输入两个正整数m和n,求出[m,n]区间的所有素数。输入 两个整数m和n(1<m<n)输出[m,n]区间的所有素数,每个素数之前有一个空格 【样例输入】1020↙【样例输出......
  • 20201302姬正坤第五章学习笔记
    LINUX第五章定时器及时钟服务硬件定时器定时器是由时钟源和可编程计数器组成的硬件设备。时钟源通常是一个晶体振荡器,会产生周期性电信号,以精确的频率驱动计数器。使用......
  • 第五章
    一、学习笔记二、遇到问题中断处理判优的方式三、解决方式经过查询资料得知,终端处理判优可以采用软件判优的方式,具体为CPU检测到中断请求后,首先读取中断请求寄存器的......