zoukankan      html  css  js  c++  java
  • Spring Cloud 之 Lombok集成(四)

    Lombok本身和SpringCloud毫无关系,把它单独拿出来讲主要是因为后续会在其它模块用到Lombok。当然网上对于Lombok的说法也众说纷纭,有好有坏,其实大可不必,只要结合自身情况,决定要不要使用就行了,这里不展开讨论。

    下面开始Lombok之美吧!!!

    1、在根项目的build.gradle中加入Lombok依赖

    subprojects中标红的两行
    buildscript {
        ext {
            springBootVersion = '2.0.1.RELEASE'
            springBootManagementVersion = '1.0.8.RELEASE'
            springCloudVersion = 'Finchley.RC1'
        }
        repositories {
            maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
            mavenCentral()
            maven { url 'https://repo.spring.io/snapshot' }
            maven { url 'https://repo.spring.io/milestone' }
        }
        dependencies {
            classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
            classpath("io.spring.gradle:dependency-management-plugin:${springBootManagementVersion}")
        }
    }
    
    version = '0.0.1-SNAPSHOT'
    
    subprojects {
        apply plugin: 'java'
        apply plugin: 'application'
        apply plugin: 'idea'
        apply plugin: 'eclipse'
        apply plugin: 'war'
        apply plugin: 'org.springframework.boot'
        apply plugin: 'io.spring.dependency-management'
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
        jar {
            enabled = true
        }
        bootJar {
            classifier = 'boot'
        }
        repositories {
            maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }
            mavenCentral()
            maven { url 'https://repo.spring.io/snapshot' }
            maven { url 'https://repo.spring.io/milestone' }
        }
        dependencies {
            compile(
                    'org.springframework.boot:spring-boot-starter-web',
                    'org.springframework.boot:spring-boot-starter-tomcat',
                    'org.springframework.boot:spring-boot-starter-actuator',
                    'org.springframework.cloud:spring-cloud-starter',
                    'org.springframework.cloud:spring-cloud-starter-netflix-eureka-client',
                    'com.google.guava:guava:23.0',
                    "org.projectlombok:lombok"
            )
            testCompile(
                    "org.springframework.boot:spring-boot-starter-test",
                    "org.springframework:spring-test",
                    "junit:junit:4.12",
                    "org.projectlombok:lombok"
            )
        }
        dependencyManagement {
            imports { mavenBom("org.springframework.boot:spring-boot-dependencies:${springBootVersion}") }
            imports { mavenBom "org.springframework.cloud:spring-cloud-dependencies:${springCloudVersion}" }
        }
    
    }

    2、修改代码

    第3行增加Slf4j注解

    第8行打印日志

     1 @RestController
     2 @RequestMapping("demo")
     3 @Slf4j
     4 public class DemoController {
     5 
     6     @RequestMapping("service")
     7     public String service() {
     8         log.info("谁在撩我?");
     9         return "x-demo-service hello.";
    10     }
    11 }

    3、Lombok生效配置,有时Lombok不生效,编译不通过,需要手动改一下idea的配置,如下图将Enable annotation processing前面选中。

    4、重启x-demo-service服务

    浏览器访问http://localhost:8081/demo/service接口,可以在idea console看到如下输出,说明lombok集成成功。

  • 相关阅读:
    Aop 打印参数日志时,出现参数序列化异常。It is illegal to call this method if the current request is not in asynchron
    Nginx 配置反向代理ip
    springboot 的启动流程
    sqlserver 查看表死锁
    idea 中 下载源码:Sources not download for:
    sqlserver exists 与 in 的区别
    sqlserver case when 的使用方法
    Java项目启动时执行指定方法的几种方式
    使用多线程并获取执行结果
    nodejs实现一个文件存储服务
  • 原文地址:https://www.cnblogs.com/shileibrave/p/14431465.html
Copyright © 2011-2022 走看看