最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot使用LomBok的示例代碼

 更新時間:2018年07月03日 11:06:18   作者:dalaoyang  
這篇文章主要介紹了SpringBoot使用LomBok的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Lombok是什么?它是一個能幫我們消除那些必須要寫但是重復(fù)的代碼,比如setter,getter,構(gòu)造函數(shù)之類的方法。

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

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

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

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


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

<?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的類,代碼如下:

package com.dalaoyang.entity;

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

/**
 * @author dalaoyang
 * @Description
 * @project springboot_learn
 * @package com.dalaoyang
 * @email yangyang@dalaoyang.cn
 * @date 2018/5/7
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

  private Integer id;
  private String name;
  private String password;
}

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

package com.dalaoyang.entity;

import java.util.Objects;

/**
 * @author dalaoyang
 * @Description
 * @project springboot_learn
 * @package com.dalaoyang.entity
 * @email yangyang@dalaoyang.cn
 * @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測試,代碼如下:

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 yangyang@dalaoyang.cn
 * @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如圖


lombok注解簡介:

@Data 標(biāo)簽,生成getter/setter toString()等方法
@NonNull : 讓你不在擔(dān)憂并且愛上NullPointerException
@CleanUp : 自動資源管理:不用再在finally中添加資源的close方法
@Setter/@Getter : 自動生成set和get方法
@ToString : 自動生成toString方法
@EqualsAndHashcode : 從對象的字段中生成hashCode和equals的實現(xiàn)
@NoArgsConstructor/@RequiredArgsConstructor/@AllArgsConstructor
自動生成構(gòu)造方法
@Data : 自動生成set/get方法,toString方法,equals方法,hashCode方法,不帶參數(shù)的構(gòu)造方法
@Value : 用于注解final類
@Builder : 產(chǎn)生復(fù)雜的構(gòu)建器api類
@SneakyThrows : 異常處理(謹(jǐn)慎使用)
@Synchronized : 同步方法安全的轉(zhuǎn)化
@Getter(lazy=true) :
@Log : 支持各種logger對象,使用時用對應(yīng)的注解,如:@Log4j

源碼下載 :大老楊碼云

本地源碼下載地址:SpringBoot-LomBok_jb51.rar

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java函數(shù)式編程(八):字符串及方法引用

    Java函數(shù)式編程(八):字符串及方法引用

    這篇文章主要介紹了Java函數(shù)式編程(八):字符串及方法引用,本文是系列文章的第8篇,其它文章請參閱本文底部的相關(guān)文章,需要的朋友可以參考下
    2014-09-09
  • win10操作系統(tǒng)下重啟電腦java環(huán)境變量失效

    win10操作系統(tǒng)下重啟電腦java環(huán)境變量失效

    這篇文章主要介紹了win10操作系統(tǒng)下重啟電腦java環(huán)境變量失效,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Java中split根據(jù)"."分割字符串問題舉例

    Java中split根據(jù)"."分割字符串問題舉例

    split表達(dá)式其實就是一個正則表達(dá)式,* | . ^ 等符號在正則表達(dá)式中屬于一種有特殊含義的字符,下面這篇文章主要給大家介紹了關(guān)于Java中split根據(jù)“.“分割字符串問題的相關(guān)資料,需要的朋友可以參考下
    2022-10-10
  • 解決springboot3.2集成mybatis-plus3.5.4.1報錯的問題

    解決springboot3.2集成mybatis-plus3.5.4.1報錯的問題

    這篇文章給大家介紹了如何解決springboot3.2集成mybatis-plus3.5.4.1報錯的問題,文中通過圖文介紹的非常詳細(xì),具有一定的參考價值,需要的朋友可以參考下
    2023-12-12
  • idea 實現(xiàn)git rebase操作應(yīng)用場景

    idea 實現(xiàn)git rebase操作應(yīng)用場景

    本文結(jié)合idea工具進(jìn)行rebase的各種場景的操作,借助工具更能直觀地觀察到分支之間地操作差異,方便我們理解rebase的各種操作以及場景的使用,對idea  git rebase操作知識感興趣的朋友一起看看吧
    2024-01-01
  • 深入了解SpringBoot中的統(tǒng)一返回和統(tǒng)一異常處理

    深入了解SpringBoot中的統(tǒng)一返回和統(tǒng)一異常處理

    這篇文章主要為大家詳細(xì)介紹了SpringBoot項目中常用的統(tǒng)一返回結(jié)果和統(tǒng)一異常處理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2024-01-01
  • Mybatis使用大于等于或小于等于進(jìn)行比較

    Mybatis使用大于等于或小于等于進(jìn)行比較

    本文主要介紹了Mybatis使用大于等于或小于等于進(jìn)行比較,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • JAVA中AES對稱加密和解密過程

    JAVA中AES對稱加密和解密過程

    這篇文章主要為大家詳細(xì)介紹了JAVA中AES對稱加密和解密過程,感興趣的小伙伴們可以參考一下
    2016-08-08
  • Java面試為何阿里強(qiáng)制要求不在foreach里執(zhí)行刪除操作

    Java面試為何阿里強(qiáng)制要求不在foreach里執(zhí)行刪除操作

    那天,小二去阿里面試,面試官老王一上來就甩給了他一道面試題:為什么阿里的 Java 開發(fā)手冊里會強(qiáng)制不要在 foreach 里進(jìn)行元素的刪除操作
    2021-11-11
  • mybatis水平分表實現(xiàn)動態(tài)表名的項目實例

    mybatis水平分表實現(xiàn)動態(tài)表名的項目實例

    本文主要介紹了mybatis水平分表實現(xiàn)動態(tài)表名的項目實例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07

最新評論

三门峡市| 龙海市| 日喀则市| 沈丘县| 和林格尔县| 扬中市| 军事| 长岭县| 塘沽区| 兴仁县| 巴里| 长寿区| 淮南市| 平武县| 新疆| 双牌县| 贵德县| 四平市| 闵行区| 扶沟县| 昭觉县| 兴仁县| 北流市| 汨罗市| 龙海市| 建湖县| 鹿泉市| 天峨县| 拜泉县| 溆浦县| 宁武县| 建始县| 新沂市| 象州县| 东宁县| 巫山县| 桦南县| 镇巴县| 栾川县| 凤山县| 托里县|