포트폴리오/SPRINGBOOT 옛날

1-05 : Devtools, Lombok

서버관리자 페페 2022. 9. 25. 19:30

단 하나의 맥락

: gradle 내 dependencies에 플러그인을 추가함으로써, 개발 편의 기능 추가

: 업데이트 시 서버 자동 재시작, 롬복 @로 자동 DI

 

semiflow bundle

: devtools 설치

: lombok 설치

: lombok 생성자 등 사용하여 잘 설치되었나 확인

 

devtools설치 위치 : build.gradle
dependencies에 설치 코드 추가 developmentOnly 'org.springframework.boot:spring-boot-devtools'
build.gradle 새로고침 옵션 > Gradle > Refresh Gradle Project

 

lombok 설치 위치 : build.gradle
STS와 동일 경로에 설치
dependencies에 설치 코드 추가 compileOnly 'org.projectlombok:lombok'
dependencies에 설치 코드 추가 annotationProcessor 'org.projectlombok:lombok'

 

(... 생략 ...)

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    compileOnly 'org.projectlombok:lombok'
    annotationProcessor 'org.projectlombok:lombok'
}

(... 생략 ...)

 

 

lombok 사용 위치 : /sbb/src/main/java/com/mysite/sbb/HelloLombok.java
@Getter @Setter 사용  
@RequiredArgsConstructor 사용  

 

@Getter @Setter 사용

package com.mysite.sbb;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class HelloLombok {

    private String hello;
    private int lombok;

    public static void main(String[] args) {
        HelloLombok helloLombok = new HelloLombok();
        helloLombok.setHello("헬로");
        helloLombok.setLombok(5);

        System.out.println(helloLombok.getHello());
        System.out.println(helloLombok.getLombok());
    }
}

 

 

번에는 HelloLombok 클래스를 다음과 같이 수정해 보자.

package com.mysite.sbb;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
@Getter
@Setter
public class HelloLombok {

    private final String hello;
    private final int lombok;

    public static void main(String[] args) {
        HelloLombok helloLombok = new HelloLombok("헬로", 5);
        System.out.println(helloLombok.getHello());
        System.out.println(helloLombok.getLombok());
    }
}

다음과 같이 생성자를 직접 작성한 경우와 동일하다.

package com.mysite.sbb;

import lombok.Getter;

@Getter
public class HelloLombok {

    private final String hello;
    private final int lombok;

    public HelloLombok(String hello, int lombok) {
        this.hello = hello;
        this.lombok = lombok;
    }

    public static void main(String[] args) {
        HelloLombok helloLombok = new HelloLombok("헬로", 5);
        System.out.println(helloLombok.getHello());
        System.out.println(helloLombok.getLombok());
    }
}

 

'포트폴리오 > SPRINGBOOT 옛날' 카테고리의 다른 글

2-03 : ORM / JPA / H2-DB / JPA 셋팅  (4) 2022.09.27
2-02 : Controller  (0) 2022.09.27
2-01 : Structure  (0) 2022.09.25
1-04 : local server의 실행과 controller  (1) 2022.09.25
1-03 : 프로젝트 환경 셋팅  (0) 2022.09.25