반응형

목차

1. Java 프로젝트에 롬복 적용

2. Spring Boot 프로젝트에 롬복 적용

3. Stable 기능

3-1. val

3-2. var

4. Experimental 기능


1. Java 프로젝트에 롬복 적용

1) 롬복 라이브러리 파일 설치

프로젝트에서 롬복을 사용하려면 라이브러리 파일이 필요합니다.

https://projectlombok.org/download

 

Download

 

projectlombok.org

 

2) 프로젝트에 라이브러리 적용

File -> Project Structure(Ctrl + Alt + Shift + S)

Libraries 에 설치한 lombok.jar 지정

External Libraries 에 lombok 라이브러리 추가 확인

 

3) Lombok Plugins 설치

4) Enable annotation processing 체크


2. Spring Boot 프로젝트에 롬복 적용

1) Dependency 설정

https://mvnrepository.com/artifact/org.projectlombok/lombok

gradle dependency

// https://mvnrepository.com/artifact/org.projectlombok/lombok
compileOnly group: 'org.projectlombok', name: 'lombok', version: '1.18.12'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

 

2) Lombok Plugins 설치

3) Enable annotation processing 체크


3. Stable 기능

1) val

val 은 변수의 type 을 선언하는 것 대신 사용할 수 있습니다.

val 은 local 변수와 foreach 식에서 사용할 수 있습니다.

자동적으로 type 을 유추하여 final 로 선언합니다. 

val 을 사용하려면 lombok.val 패키지를 import 해야 합니다.

 

이 기능은 NetBeans 에서 동작하지 않습니다.

 

package lombokTest;

import lombok.val;

import java.util.ArrayList;
import java.util.HashMap;

public class ValExample {
    public static void main(String[] args) {
        System.out.println(exampleMethod());
        exampleMethodTwo();
    }

    public static String exampleMethod() {
        val valList = new ArrayList<String>();
        valList.add("HELLO WORLD");
        val valVariable = valList.get(0);
        return valVariable.toLowerCase();
    }

    public static void exampleMethodTwo() {
        val map = new HashMap<Integer, String>();
        map.put(0, "Zero");
        map.put(5, "Five");
        for (val entry : map.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

 

2) var

var 은 지역 변수에 final 키워드를 넣지 않는 것 빼고는 val 과 동일합니다.

package lombokTest;

import java.util.ArrayList;
import java.util.HashMap;

public class VarExample {
    public static void main(String[] args) {
        System.out.println(exampleMethod());
        exampleMethodTwo();
    }

    public static String exampleMethod() {
        var valList = new ArrayList<String>();
        valList.add("HELLO WORLD");
        var valVariable = valList.get(0);
        valVariable = "ABC";
        return valVariable.toLowerCase();
    }

    public static void exampleMethodTwo() {
        var map = new HashMap<Integer, String>();
        map.put(0, "Zero");
        map.put(5, "Five");
        map.put(5, "Seven");
        for (var entry : map.entrySet()) {
            System.out.println(entry.getKey() + " : " + entry.getValue());
        }
    }
}

 

 


4. Experimental 기능

 

반응형

+ Recent posts