一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - SpringBoot使用LomBok的示例代碼

SpringBoot使用LomBok的示例代碼

2021-05-13 11:13dalaoyang Java教程

這篇文章主要介紹了SpringBoot使用LomBok的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

lombok是什么?它是一個能幫我們消除那些必須要寫但是重復的代碼,比如setter,getter,構造函數之類的方法。

首先先簡單說一下idea安裝lombok,有2種方法:

1.直接從http://plugins.jetbrains.com/下載,然后放到idea安裝文件下面的plugins,然后重啟idea

2.在idea的settings(windows)或者preferences(mac),下找到plugins菜單,點擊browse repositories,如圖

SpringBoot使用LomBok的示例代碼

然后搜索lombok,點擊右側下載,下載完成重啟即可,如圖

SpringBoot使用LomBok的示例代碼

新建項目,在pom文件中加入lombok依賴,完整pom如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelversion>4.0.0</modelversion>
 
  <groupid>com.dalaoyang</groupid>
  <artifactid>springboot_lombok</artifactid>
  <version>0.0.1-snapshot</version>
  <packaging>jar</packaging>
 
  <name>springboot_lombok</name>
  <description>springboot_lombok</description>
 
  <parent>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-parent</artifactid>
    <version>1.5.9.release</version>
    <relativepath/> <!-- lookup parent from repository -->
  </parent>
 
  <properties>
    <project.build.sourceencoding>utf-8</project.build.sourceencoding>
    <project.reporting.outputencoding>utf-8</project.reporting.outputencoding>
    <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-devtools</artifactid>
      <scope>runtime</scope>
    </dependency>
    <dependency>
      <groupid>org.springframework.boot</groupid>
      <artifactid>spring-boot-starter-test</artifactid>
      <scope>test</scope>
    </dependency>
    <dependency>
      <groupid>org.projectlombok</groupid>
      <artifactid>lombok</artifactid>
      <version>1.16.20</version>
    </dependency>
  </dependencies>
 
  <build>
    <plugins>
      <plugin>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-maven-plugin</artifactid>
      </plugin>
    </plugins>
  </build>
</project>

新建一個user類,這個是使用lombok的類,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.dalaoyang.entity;
 
import lombok.allargsconstructor;
import lombok.data;
import lombok.noargsconstructor;
 
/**
 * @author dalaoyang
 * @description
 * @project springboot_learn
 * @package com.dalaoyang
 * @email [email protected]
 * @date 2018/5/7
 */
@data
@allargsconstructor
@noargsconstructor
public class user {
 
  private integer id;
  private string name;
  private string password;
}

新建一個usernolombok類,這個和原來一樣,目的為了對比使用lombok的好處,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
package com.dalaoyang.entity;
 
import java.util.objects;
 
/**
 * @author dalaoyang
 * @description
 * @project springboot_learn
 * @package com.dalaoyang.entity
 * @email [email protected]
 * @date 2018/5/7
 */
public class usernolombok {
  private integer id;
  private string name;
  private string password;
 
  public integer getid() {
    return id;
  }
 
  public void setid(integer id) {
    this.id = id;
  }
 
  public string getname() {
    return name;
  }
 
  public void setname(string name) {
    this.name = name;
  }
 
  public string getpassword() {
    return password;
  }
 
  public void setpassword(string password) {
    this.password = password;
  }
 
  public usernolombok(integer id, string name, string password) {
    this.id = id;
    this.name = name;
    this.password = password;
  }
 
 
  public usernolombok() {
  }
 
  @override
  public boolean equals(object o) {
    if (this == o) return true;
    if (o == null || getclass() != o.getclass()) return false;
    usernolombok that = (usernolombok) o;
    return objects.equals(id, that.id) &&
        objects.equals(name, that.name) &&
        objects.equals(password, that.password);
  }
 
  @override
  public int hashcode() {
 
    return objects.hash(id, name, password);
  }
 
  @override
  public string tostring() {
    return "usernolombok{" +
        "id=" + id +
        ", name='" + name + '\'' +
        ", password='" + password + '\'' +
        '}';
  }
}

然后新建一個usercontroller測試,代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
package com.dalaoyang.controller;
 
import com.dalaoyang.entity.user;
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.restcontroller;
 
/**
 * @author dalaoyang
 * @description
 * @project springboot_learn
 * @package com.dalaoyang.controller
 * @email [email protected]
 * @date 2018/5/7
 */
@restcontroller
public class usercontroller {
 
  @getmapping("/testuser")
  public user getuser(){
    user user = new user();
    user.setid(1);
    user.setname("dalaoyang");
    user.setpassword("123");
    system.out.println(user.tostring());
    return user;
  }
}

訪問http://localhost:8080/testuser如圖

SpringBoot使用LomBok的示例代碼

lombok注解簡介:

@data 標簽,生成getter/setter tostring()等方法
@nonnull : 讓你不在擔憂并且愛上nullpointerexception
@cleanup : 自動資源管理:不用再在finally中添加資源的close方法
@setter/@getter : 自動生成set和get方法
@tostring : 自動生成tostring方法
@equalsandhashcode : 從對象的字段中生成hashcode和equals的實現
@noargsconstructor/@requiredargsconstructor/@allargsconstructor
自動生成構造方法
@data : 自動生成set/get方法,tostring方法,equals方法,hashcode方法,不帶參數的構造方法
@value : 用于注解final類
@builder : 產生復雜的構建器api類
@sneakythrows : 異常處理(謹慎使用)
@synchronized : 同步方法安全的轉化
@getter(lazy=true) :
@log : 支持各種logger對象,使用時用對應的注解,如:@log4j

源碼下載 :大老楊碼云

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.jianshu.com/p/df3705c54188

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 精品国产视频 | 色碰视频 | 暖暖的免费观看高清视频韩国 | 性奶乳妇 | 国产毛片在线高清视频 | 美女免费观看一区二区三区 | 欧美同性猛男videos | 青青草原国产在线 | 成人福利免费在线观看 | 久久er国产免费精品 | 美女的让男人桶爽网站 | 国产精品林美惠子在线观看 | 亚洲视频中文字幕 | 无敌在线视频观看免费 | 成人亚洲欧美日韩中文字幕 | 婷射吧 | 日本高清色视影www日本 | 窝窝影院午夜色在线视频 | 国产精品亚洲午夜一区二区三区 | 操bb视频| 狠狠狠地啪香蕉 | 亚洲小视频在线 | 单亲乱l仑在线观看免费观看 | www.色.con| 亚洲福利精品电影在线观看 | 日本粉色视频 | 精品在线免费观看视频 | 男人香蕉好大好爽视频 | 荡女人人爱全文免费阅读 | 日本大尺度激情做爰叫床 | 精品一区二区三区波多野结衣 | 日本五十路六十30人8时间 | 污文啊好棒棒啊好了 | 亚洲国产天堂在线观看 | 男男羞羞视频网站国产 | 国产成人精品免费视频软件 | 亚洲国产日韩成人综合天堂 | 久久草福利自拍视频在线观看 | 99只有精品 | 蜜月aⅴ免费一区二区三区 蜜桃影像传媒推广 | 男女男精品视频网站 |