宁夏住房和建设厅官方网站,赣州seo公司,天津电子商务网站建设公司,逆冬seo#x1f600;前言 本篇博文是关于Lombok的基本介绍和基本使用#xff0c;希望能够帮助到您#x1f60a; #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章可以帮助到大家#xff0c;您的满… 前言 本篇博文是关于Lombok的基本介绍和基本使用希望能够帮助到您 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力 欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦 文章目录 LombokLombok 介绍Lombok 作用SpringBoot 和IDEA 官方支持 Lombok 常用注解Lombok 应用实例代码实现 总结 Lombok
Lombok 介绍
Lombok 作用
简化JavaBean 开发, 可以使用Lombok 的注解让代码更加简洁。Java 项目中很多没有技术含量又必须存在的代码POJO 的getter/setter/toString异常处理I/O 流的关闭操作等等这些代码既没有技术含量又影响着代码的美观Lombok应运而生。
SpringBoot 和IDEA 官方支持
IDEA 2020 已经内置了Lombok 插件SpringBoot 2.1.x 之后的版本也在Starter 中内置了Lombok 依赖
Lombok 常用注解 Lombok 应用实例
需求说明使用Lombok 简化Furn.java 代码 让代码简洁高效
代码实现
在pom.xml 引入lombok
!-- 引入lombok, 版本在spring-boot-dependencies-2.5.3.pom 指定了, 把光标放在lombok ctrlb 可以看到--
dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId
/dependency-----------------------------------------看对应的版本--------------------------------------- 修改Furn.java 使用Lombok 注解简化代码, 提示可以通过idea 自带的反编译功能, 看Furn.class 的源码, 就可以看到生成的完整代码.
/**
* 解读
* 1. Component 将Furn 注册为一个组件
* 2. ConfigurationProperties(prefix furn01) 指定在application.properties 前缀
* 这样Furn 组件就会属性文件中的值绑定了
*/
Component
ConfigurationProperties(prefix furn01)/*** 说明:* 1. Equivalent to {code Getter Setter RequiredArgsConstructor ToString EqualsAndHashCode}* 2. Data 注解等价使用了 如下注解 Getter Setter RequiredArgsConstructor ToString EqualsAndHashCode NoArgsConstructor*/
//Data
//说明: NoArgsConstructor 在编译时会生成无参构造器, 前面说过默认情况下会生成一个无参构造器
//说明当我们有其它构造器生成时如果你希望仍然有无参构造器就需要使用NoArgsConstructor指定一下 ,否则就会覆盖无参构造器从而代码错误
NoArgsConstructor
//说明AllArgsConstructor 在编译时会生成全参构造器
AllArgsConstructor
//ToString : lombok 注解, 在编译时生成toString, 默认情况下会生成一个无参构造器
ToString
Setter
Getter
public class Furn {private Integer id;private String name;private Double price;} ----------------反编译, 看源码-----------
Component
ConfigurationProperties(prefix furn01
)
public class Furn {private Integer id;private String name;private Double price;public Furn() {}public Furn(final Integer id, final String name, final Double price) {this.id id;this.name name;this.price price;}public String toString() {return Furn(id this.getId() , name this.getName() , price this.getPrice() );}public void setId(final Integer id) {this.id id;}public void setName(final String name) {this.name name;}public void setPrice(final Double price) {this.price price;}public Integer getId() {return this.id;}public String getName() {return this.name;}public Double getPrice() {return this.price;}
}
启动MainApp.java , 完成测试 在idea 安装lombok 插件, 不装插件也可以用基本的注解比如Data Getter 等, 但是不能使用其扩展功能, 比如日志输出…, 所以我们还是安装一下也比较简单 安装完后重启一下idea就可以使用了。
演示使用Lombok 支持日志输出( 建议使用slf4j), 修改HelloController.java
Slf4j
Controller
public class HelloController {RequestMapping(/hello)ResponseBodypublic String hello() {return hello, spring boot;}AutowiredFurn furn;RequestMapping(/furn)ResponseBodypublic Furn furn() {//使用Slf4j日志输出//普通方式log.info(furn furn);//占位用法log.info(furn {} , furn);return furn;}
}总结
使用Lombok 的注解可以让代码更加简洁。使用Lombok 注解简化代码, 可以通过idea 自带的反编译功能, 看源码, 就可以看到生成的完整代码。当我们使用Data 还有其它构造器生成时无参构造器就需要使用NoArgsConstructor指定一下 ,否则就会覆盖无参构造器从而代码错误。当使用toString获取输出结果为空时可能是因为没有get/set方法。
热门专栏推荐 SpringBoot篇 SpringBoot容器–注解的使用 SpringBoot 自动配置–常用配置 SpringBoot 依赖管理和自动配置—带你了解什么是版本仲裁 Spring Boot介绍–快速入门–约定优于配置 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力