文章目录
前言
哈喽,大家好,我是有勇气的牛排(全网同名)🐮🐮🐮
有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。
官网:https://www.couragesteak.com/
Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等
lombok官网:https://projectlombok.org/features/
1 配置
Maven依赖 :
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.8.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
idea安装lombok插件 :
File–>Setting–>Plugins–>搜索“lombok plugin”,安装后重启ide
2 常用注解
@Data
: 注解在类上,提供类所有属性的getting
和setting
方法,它还提供了equals
、canEqual
、hashCode
、toString
方法。
@Setter
:注解在属性上,为属性提供 setting 方法。
@Getter
: 注解在属性上,为属性提供 getting 方法。
@Log4j
:注解在类上,为类提供一个名为log的log4j日志对象。
@NoArgsConstructor
: 注解在类上,为类提供一个无参构造方法。
@AllArgsConstructor
: 注解在类上,为类提供全参构造方法。
@NonNull
: 注解在参数上,可以省略重复的 if(null == persion)
这类异常处理。
@Cleanup
:注解在输入输出流等需要释放资源的变量上,不需要写额外繁琐而重复的释放资源代码。
2 Java代码案例
package com.couragesteak.test;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
@Data
@Slf4j
public class UserEntity {
private Integer id;
private String userName;
private Integer age;
public UserEntity() {
}
public UserEntity(Integer id, String userName, Integer age) {
this.id = id;
this.userName = userName;
this.age = age;
}
@Override
public String toString() {
return "UserEntity{" +
"id=" + id +
", userName='" + userName + '\'' +
", age=" + age +
'}';
}
public static void main(String[] args) {
log.info("========cs=======");
UserEntity userEntity = new UserEntity(1,"有勇气的牛排",20);
System.out.println(userEntity.toString());
System.out.println(userEntity.getUserName());
}
}

如果不适用lombok打印日志
private Logger log = Logger.getLogger(UserEntity.class);
参考地址:
[1] 余胜军
[2] https://developer.aliyun.com/article/319220
<p><h3>文章目录</h3><ul><ul><li><a href="#_2">前言</a></li><li><a href="#1__14">1 配置</a></li><li><a href="#2__44">2 常用注解</a></li><li><a href="#2_Java_56">2 Java代码案例</a></li></ul></ul></p>
<h2><a id="_2"></a>前言</h2>
<p><font face="楷体,华文行楷,隶书,黑体" color="red" size="4"><strong>哈喽,大家好,我是有勇气的牛排(全网同名)🐮🐮🐮</strong></font></p>
<p><font face="楷体,华文行楷,隶书,黑体" color="blue" size="4"><strong>有问题的小伙伴欢迎在文末评论,点赞、收藏是对我最大的支持!!!。</strong></font></p>
<p>官网:<a href="https://www.couragesteak.com/" target="_blank">https://www.couragesteak.com/</a></p>
<p>Lombok项目是一个java库,它可以自动插入到编辑器和构建工具中,增强java的性能。不需要再写getter、setter或equals方法,只要有一个注解,你的类就有一个功能齐全的构建器、自动记录变量等等</p>
<p>lombok官网:https://projectlombok.org/features/</p>
<h2><a id="1__14"></a>1 配置</h2>
<p><strong>Maven依赖</strong> :</p>
<pre><div class="hljs"><code class="lang-xml"> <span class="hljs-tag"><<span class="hljs-name">parent</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-parent<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">version</span>></span>2.1.8.RELEASE<span class="hljs-tag"></<span class="hljs-name">version</span>></span>
<span class="hljs-tag"></<span class="hljs-name">parent</span>></span>
<span class="hljs-tag"><<span class="hljs-name">dependencies</span>></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.springframework.boot<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>spring-boot-starter-web<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
<span class="hljs-comment"><!-- lombok --></span>
<span class="hljs-tag"><<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"><<span class="hljs-name">groupId</span>></span>org.projectlombok<span class="hljs-tag"></<span class="hljs-name">groupId</span>></span>
<span class="hljs-tag"><<span class="hljs-name">artifactId</span>></span>lombok<span class="hljs-tag"></<span class="hljs-name">artifactId</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependency</span>></span>
<span class="hljs-tag"></<span class="hljs-name">dependencies</span>></span>
</code></div></pre>
<p><strong>idea安装lombok插件</strong> :</p>
<p>File–>Setting–>Plugins–>搜索“lombok plugin”,安装后重启ide</p>
<h2><a id="2__44"></a>2 常用注解</h2>
<p><code>@Data</code>: 注解在类上,提供类所有属性的<code>getting</code>和<code>setting</code>方法,它还提供了<code>equals</code>、<code>canEqual</code>、<code>hashCode</code>、<code>toString</code>方法。<br />
<code>@Setter</code>:注解在属性上,为属性提供 setting 方法。<br />
<code>@Getter</code>: 注解在属性上,为属性提供 getting 方法。<br />
<code>@Log4j</code>:注解在类上,为类提供一个名为log的log4j日志对象。<br />
<code>@NoArgsConstructor</code>: 注解在类上,为类提供一个无参构造方法。<br />
<code>@AllArgsConstructor</code>: 注解在类上,为类提供全参构造方法。<br />
<code>@NonNull</code>: 注解在参数上,可以省略重复的 <code>if(null == persion)</code> 这类异常处理。<br />
<code>@Cleanup</code>:注解在输入输出流等需要释放资源的变量上,不需要写额外繁琐而重复的释放资源代码。</p>
<h2><a id="2_Java_56"></a>2 Java代码案例</h2>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-comment">/*
* @Author : 有勇气的牛排
* @FileName: UserEntity.java
* desc :
* */</span>
<span class="hljs-keyword">package</span> com.couragesteak.test;
<span class="hljs-keyword">import</span> lombok.Data;
<span class="hljs-keyword">import</span> lombok.extern.slf4j.Slf4j;
<span class="hljs-meta">@Data</span>
<span class="hljs-meta">@Slf4j</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">class</span> <span class="hljs-title class_">UserEntity</span> {
<span class="hljs-keyword">private</span> Integer id;
<span class="hljs-keyword">private</span> String userName;
<span class="hljs-keyword">private</span> Integer age;
<span class="hljs-keyword">public</span> <span class="hljs-title function_">UserEntity</span><span class="hljs-params">()</span> {
}
<span class="hljs-keyword">public</span> <span class="hljs-title function_">UserEntity</span><span class="hljs-params">(Integer id, String userName, Integer age)</span> {
<span class="hljs-built_in">this</span>.id = id;
<span class="hljs-built_in">this</span>.userName = userName;
<span class="hljs-built_in">this</span>.age = age;
}
<span class="hljs-meta">@Override</span>
<span class="hljs-keyword">public</span> String <span class="hljs-title function_">toString</span><span class="hljs-params">()</span> {
<span class="hljs-keyword">return</span> <span class="hljs-string">"UserEntity{"</span> +
<span class="hljs-string">"id="</span> + id +
<span class="hljs-string">", userName='"</span> + userName + <span class="hljs-string">'\''</span> +
<span class="hljs-string">", age="</span> + age +
<span class="hljs-string">'}'</span>;
}
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title function_">main</span><span class="hljs-params">(String[] args)</span> {
log.info(<span class="hljs-string">"========cs======="</span>);
<span class="hljs-type">UserEntity</span> <span class="hljs-variable">userEntity</span> <span class="hljs-operator">=</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">UserEntity</span>(<span class="hljs-number">1</span>,<span class="hljs-string">"有勇气的牛排"</span>,<span class="hljs-number">20</span>);
System.out.println(userEntity.toString());
System.out.println(userEntity.getUserName());
}
}
</code></div></pre>
<p><img src="https://static.couragesteak.com/article/72b0cc500aa1e31abe29dd462402a413.png" alt="image.png" /></p>
<p>如果不适用lombok打印日志</p>
<pre><div class="hljs"><code class="lang-java"><span class="hljs-keyword">private</span> <span class="hljs-type">Logger</span> <span class="hljs-variable">log</span> <span class="hljs-operator">=</span> Logger.getLogger(UserEntity.class);
</code></div></pre>
<p>参考地址:<br />
[1] 余胜军<br />
[2] https://developer.aliyun.com/article/319220</p>
留言