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

Spring Boot中l(wèi)ombok的安裝與使用詳解

 更新時(shí)間:2017年09月18日 08:35:01   投稿:daisy  
這篇文章主要給大家介紹了關(guān)于Spring Boot中l(wèi)ombok安裝與使用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。

前言

眾所周知Spring Boot是非常高效的開發(fā)框架,lombok是一套代碼模板解決方案,將極大提升開發(fā)的效率,這里介紹給大家使用。文中詳細(xì)介紹了lombok的安裝與使用教程,話不多說了,來一起看看詳細(xì)的介紹吧。

1. Lombok

Lombok想要解決了的是在我們實(shí)體Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不會(huì)用到,但是某些時(shí)候仍然需要復(fù)寫,以期方便使用的方法;在使用Lombok之后,將由其來自動(dòng)幫你實(shí)現(xiàn)代碼生成,注意,其是在運(yùn)行過程中,幫你自動(dòng)生成的。就是說,將極大減少你的代碼總量。

Lombok的官方地址: https://projectlombok.org/

2. LomBok的安裝

在SpringBoot1.4.1項(xiàng)目的pom.xml中新增如下信息:

<dependency> 
    <groupId>org.projectlombok</groupId> 
    <artifactId>lombok</artifactId> 
</dependency> 

注意:這里無需指定版本,因?yàn)镾pring Boot中已經(jīng)默認(rèn)引入了這個(gè)類庫,且指定了其scope。 這個(gè)即將lombok引入了項(xiàng)目,可以引用其類庫標(biāo)注。

針對(duì)不同的IDE,lombok提供了不同的解決方案,筆者使用的是STS,故這介紹一下如何使用lombok插件在STS中:
  >> 1.  下載最新的lombok,最新版本。1.16.10  https://projectlombok.org/download.html

  >> 2.  切到lombok下載的目錄,運(yùn)行命令: java -jar lombok.jar

   

   選中目錄之后,就會(huì)看到如下窗口:

   

大家可以看到,這里的會(huì)使用javaagent的方式寫入STS的啟動(dòng)過程中。在確定之后,我們切到sts的安裝目錄,驗(yàn)證一下STS.ini文件:

      

大家也可以發(fā)現(xiàn),在STS的目錄下,也有l(wèi)ombok.jar文件的存在,整個(gè)安裝過程即可完成。

3.   Lombok的使用

主要是基于標(biāo)注來進(jìn)行信息的封裝和使用:

       @NonNull:  標(biāo)識(shí)對(duì)象是否為空,為空則拋出異常

       @Getter:   自動(dòng)生成Getter方法

       @Setter:  自動(dòng)生成Setter

        @ToString:  覆蓋tostring方法

        @EqualsAndHashCode: 覆蓋equal和hashCode方法

    @Data:  @Getter/@Setter, @ToString, @EqualAndHashCode等組合

    @Slf4j:  默認(rèn)使用slf4j的日志對(duì)象

4. 使用示例:

示例Getter/Setter方法以及日志使用:

import lombok.Data; 
import lombok.extern.slf4j.Slf4j; 
 
@Slf4j 
@Data 
public class TestBean { 
 private String name; 
 private int age; 
} 

測(cè)試用例:

import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.springframework.beans.factory.annotation.Autowired; 
import org.springframework.boot.test.context.SpringBootTest; 
import org.springframework.test.context.junit4.SpringRunner; 
 
import lombok.extern.slf4j.Slf4j; 
 
@RunWith(SpringRunner.class) 
@SpringBootTest 
@Slf4j 
public class TestEntityBean { 
 
 TestBean bean = new TestBean(); 
  
 @Autowired 
 private MyCase mycase; 
  
  
 //@Test 
 public void test() { 
  bean.setAge(123); 
  bean.setName("zhangsan"); 
   
  log.info(bean.toString()); 
 } 
} 

用例運(yùn)行結(jié)果

 . ____   _   __ _ _ 
 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ 
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ 
 \\/ ___)| |_)| | | | | || (_| | ) ) ) ) 
 ' |____| .__|_| |_|_| |_\__, | / / / / 
 =========|_|==============|___/=/_/_/_/ 
 :: Spring Boot ::  (v1.4.1.RELEASE) 
 
2016-10-24 11:49:19.521 INFO 700 --- [   main] org.cuckoo.report.brain.TestEntityBean : Starting TestEntityBean on 08-201412015324 with PID 700 (started by junfengchen in D:\Dev\workspace\JSPDemo) 
2016-10-24 11:49:19.523 INFO 700 --- [   main] org.cuckoo.report.brain.TestEntityBean : No active profile set, falling back to default profiles: default 
2016-10-24 11:49:19.647 INFO 700 --- [   main] o.s.w.c.s.GenericWebApplicationContext : Refreshing org.springframework.web.context.support.GenericWebApplicationContext@4f80542f: startup date [Mon Oct 24 11:49:19 CST 2016]; root of context hierarchy 
2016-10-24 11:49:22.191 INFO 700 --- [   main] s.w.s.m.m.a.RequestMappingHandlerAdapter : Looking for @ControllerAdvice: org.springframework.web.context.support.GenericWebApplicationContext@4f80542f: startup date [Mon Oct 24 11:49:19 CST 2016]; root of context hierarchy 
2016-10-24 11:49:22.290 INFO 700 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/foo]}" onto public java.lang.String org.cuckoo.report.brain.WelcomeController.foo(java.util.Map<java.lang.String, java.lang.Object>) 
2016-10-24 11:49:22.293 INFO 700 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/],methods=[GET]}" onto public java.lang.String org.cuckoo.report.brain.WelcomeController.welcome(java.util.Map<java.lang.String, java.lang.Object>) 
2016-10-24 11:49:22.295 INFO 700 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error]}" onto public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest) 
2016-10-24 11:49:22.296 INFO 700 --- [   main] s.w.s.m.m.a.RequestMappingHandlerMapping : Mapped "{[/error],produces=[text/html]}" onto public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) 
2016-10-24 11:49:22.351 INFO 700 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2016-10-24 11:49:22.351 INFO 700 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2016-10-24 11:49:22.409 INFO 700 --- [   main] o.s.w.s.handler.SimpleUrlHandlerMapping : Mapped URL path [/**/favicon.ico] onto handler of type [class org.springframework.web.servlet.resource.ResourceHttpRequestHandler] 
2016-10-24 11:49:22.642 INFO 700 --- [   main] org.cuckoo.report.brain.TestEntityBean : Started TestEntityBean in 3.868 seconds (JVM running for 4.854) 
2016-10-24 11:49:22.676 INFO 700 --- [   main] org.cuckoo.report.brain.TestEntityBean : TestBean(name=zhangsan, age=123) 
2016-10-24 11:49:22.691 INFO 700 --- [  Thread-2] o.s.w.c.s.GenericWebApplicationContext : Closing org.springframework.web.context.support.GenericWebApplicationContext@4f80542f: startup date [Mon Oct 24 11:49:19 CST 2016]; root of context hierarchy 

大家可以注意到@Slf4j替代掉了冗余的logger聲明語句, @Data不必在使用Getter/Setter方法,其中toString默認(rèn)反射對(duì)象中的所有屬性,非常的好用。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • 通過jstack分析解決進(jìn)程死鎖問題實(shí)例代碼

    通過jstack分析解決進(jìn)程死鎖問題實(shí)例代碼

    這篇文章主要介紹了通過jstack分析解決進(jìn)程死鎖問題實(shí)例代碼,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • 詳解Spring全局異常處理的三種方式

    詳解Spring全局異常處理的三種方式

    這篇文章主要介紹了詳解Spring全局異常處理的三種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • mybatis-plus配置攔截器實(shí)現(xiàn)sql完整打印的代碼設(shè)計(jì)

    mybatis-plus配置攔截器實(shí)現(xiàn)sql完整打印的代碼設(shè)計(jì)

    在使用mybatis-plus(mybatis)的時(shí)候,往往需要打印完整的sql語句,然而輸出的日志不是很理想,因?yàn)閟ql語句中的關(guān)鍵字段信息都是用?來代替的,所以本文分享了一下自己寫了一個(gè)攔截器實(shí)現(xiàn)了sql完整的打印,需要的朋友可以參考下
    2024-06-06
  • 使用Postman自動(dòng)生成Cookie并轉(zhuǎn)換為Java代碼的實(shí)現(xiàn)

    使用Postman自動(dòng)生成Cookie并轉(zhuǎn)換為Java代碼的實(shí)現(xiàn)

    在接口測(cè)試中,有時(shí)候需要在請(qǐng)求中攜帶Cookie信息,為了方便測(cè)試,我們可以使用Postman來自動(dòng)生成Cookie,并將其轉(zhuǎn)換為Java代碼,以便在自動(dòng)化測(cè)試中使用,下面將介紹如何實(shí)現(xiàn)這一功能,需要的朋友可以參考下
    2024-11-11
  • Java最簡潔數(shù)據(jù)結(jié)構(gòu)之冒泡排序快速理解

    Java最簡潔數(shù)據(jù)結(jié)構(gòu)之冒泡排序快速理解

    冒泡排序是編程中數(shù)據(jù)結(jié)構(gòu)繞不過的一個(gè)基礎(chǔ)點(diǎn),有關(guān)于冒泡排序的文章也有很多,但可能會(huì)比較繚亂未能理解,本章將一子u為簡潔明了的例圖帶你通關(guān)冒泡排序
    2021-11-11
  • Java經(jīng)典算法匯總之冒泡排序

    Java經(jīng)典算法匯總之冒泡排序

    冒泡排序基本思想:在要排序的一組數(shù)中,對(duì)當(dāng)前還未排好序的范圍內(nèi)的全部數(shù),自上而下對(duì)相鄰的兩個(gè)數(shù)依次進(jìn)行比較和調(diào)整,讓較大的數(shù)往下沉,較小的往上冒。即:每當(dāng)兩相鄰的數(shù)比較后發(fā)現(xiàn)它們的排序與排序要求相反時(shí),就將它們互換。
    2016-04-04
  • IDEA實(shí)現(xiàn) springmvc的簡單注冊(cè)登錄功能的示例代碼

    IDEA實(shí)現(xiàn) springmvc的簡單注冊(cè)登錄功能的示例代碼

    這篇文章主要介紹了IDEA實(shí)現(xiàn) springmvc的簡單注冊(cè)登錄功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-06-06
  • java項(xiàng)目實(shí)現(xiàn)圖片等比縮放

    java項(xiàng)目實(shí)現(xiàn)圖片等比縮放

    這篇文章主要為大家詳細(xì)介紹了java項(xiàng)目實(shí)現(xiàn)圖片等比縮放,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • SpringBoot3整合SpringSecurity6快速入門示例教程

    SpringBoot3整合SpringSecurity6快速入門示例教程

    SpringSecurity 是Spring大家族中一名重要成員,是專門負(fù)責(zé)安全的框架,本文給大家介紹SpringBoot3整合SpringSecurity6快速入門示例教程,感興趣的朋友一起看看吧
    2025-04-04
  • win10設(shè)置java環(huán)境變量的方法

    win10設(shè)置java環(huán)境變量的方法

    下面小編就為大家?guī)硪黄獁in10設(shè)置java環(huán)境變量的方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-01-01

最新評(píng)論

凤山县| 黄龙县| 常山县| 绥德县| 乌兰浩特市| 丽水市| 红安县| 保德县| 四子王旗| 昆明市| 安康市| 江阴市| 山东省| 仪陇县| 泽普县| 杭锦后旗| 平潭县| 闸北区| 东阳市| 金湖县| 文成县| 泰兴市| 句容市| 留坝县| 张家界市| 阳江市| 五莲县| 五大连池市| 临泉县| 瓦房店市| 台北县| 富平县| 绥化市| 福建省| 乌什县| 荣昌县| 农安县| 龙州县| 鄂温| 乐山市| 阳信县|