成都网站建设设计

将想法与焦点和您一起共享

lombok如何在SpringBoot中进行安装

lombok如何在Spring Boot中进行安装?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

成都创新互联公司专注于企业全网营销推广、网站重做改版、邕宁网站定制设计、自适应品牌网站建设、成都h5网站建设商城网站建设、集团公司官网建设、成都外贸网站建设公司、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为邕宁等各大城市提供网站开发制作服务。

1. Lombok

Lombok想要解决了的是在我们实体Bean中大量的Getter/Setter方法,以及toString, hashCode等可能不会用到,但是某些时候仍然需要复写,以期方便使用的方法;在使用Lombok之后,将由其来自动帮你实现代码生成,注意,其是在运行过程中,帮你自动生成的。就是说,将极大减少你的代码总量。

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

2. LomBok的安装

在SpringBoot1.4.1项目的pom.xml中新增如下信息:

 
    org.projectlombok 
    lombok 
 

注意:这里无需指定版本,因为Spring Boot中已经默认引入了这个类库,且指定了其scope。 这个即将lombok引入了项目,可以引用其类库标注。

针对不同的IDE,lombok提供了不同的解决方案,笔者使用的是STS,故这介绍一下如何使用lombok插件在STS中:
  >> 1.  下载最新的lombok,最新版本。1.16.10  https://projectlombok.org/download.html

  >> 2.  切到lombok下载的目录,运行命令: java -jar lombok.jar

lombok如何在Spring Boot中进行安装   

   选中目录之后,就会看到如下窗口:

lombok如何在Spring Boot中进行安装   

大家可以看到,这里的会使用javaagent的方式写入STS的启动过程中。在确定之后,我们切到sts的安装目录,验证一下STS.ini文件:

lombok如何在Spring Boot中进行安装      

大家也可以发现,在STS的目录下,也有lombok.jar文件的存在,整个安装过程即可完成。

3.   Lombok的使用

主要是基于标注来进行信息的封装和使用:

       @NonNull:  标识对象是否为空,为空则抛出异常

       @Getter:   自动生成Getter方法

       @Setter:  自动生成Setter

        @ToString:  覆盖tostring方法

        @EqualsAndHashCode: 覆盖equal和hashCode方法

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

    @Slf4j:  默认使用slf4j的日志对象

4. 使用示例:

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

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

测试用例:

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()); 
 } 
} 

用例运行结果

 . ____   _   __ _ _ 
 /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ 
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ 
 \\/ ___)| |_)| | | | | || (_| | ) ) ) ) 
 ' |____| .__|_| |_|_| |_\__, | / / / / 
 =========|_|==============|___/=/_/_/_/ 
 :: 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 

关于lombok如何在Spring Boot中进行安装问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


本文名称:lombok如何在SpringBoot中进行安装
分享网址:http://chengdu.cdxwcx.cn/article/pogsje.html