新聞中心
lombok如何在Spring Boot中進(jìn)行安裝?針對(duì)這個(gè)問題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問題的小伙伴找到更簡(jiǎn)單易行的方法。
成都創(chuàng)新互聯(lián)公司專注于企業(yè)全網(wǎng)營(yíng)銷推廣、網(wǎng)站重做改版、邕寧網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)公司、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為邕寧等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
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中新增如下信息:
org.projectlombok lombok
注意:這里無需指定版本,因?yàn)镾pring Boot中已經(jīng)默認(rèn)引入了這個(gè)類庫(kù),且指定了其scope。 這個(gè)即將lombok引入了項(xiàng)目,可以引用其類庫(kù)標(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) 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 ) 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 > 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
關(guān)于lombok如何在Spring Boot中進(jìn)行安裝問題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
網(wǎng)頁(yè)題目:lombok如何在SpringBoot中進(jìn)行安裝
地址分享:http://fisionsoft.com.cn/article/pogsje.html
其他資訊
- OSPF網(wǎng)絡(luò)出現(xiàn)RouterID重復(fù)導(dǎo)致網(wǎng)絡(luò)故障的解決方法-創(chuàng)新互聯(lián)
- Centos6配置PPTP連接VPS服務(wù)器-創(chuàng)新互聯(lián)
- 遞歸,二分法,匿名函數(shù)-創(chuàng)新互聯(lián)
- iOS13相冊(cè)縮放iOS13宣稱的體積減小一半速度快一倍怎么沒有實(shí)現(xiàn)?-創(chuàng)新互聯(lián)
- 在windows上使用jenkins遠(yuǎn)程執(zhí)行l(wèi)inuxshell命令-創(chuàng)新互聯(lián)