스프링부트

1-4 스프링부트도구2

늦게 시작한 개발자 2022. 12. 14. 16:31

1-3 에서 롬복 실행이 제대로 되지 않아서 새롭게 STS를 설치 후 1-3까지 처리를 하였다.

롬복이 제대로 실행되는지 확인할 순서다.

  • 우선 HelloLombok 클래스를 작성하여 롬복 동작 여부를 확인해본다.

1-1 롬복 클래스 만들기
1-2 제대로 구동된다면 위와 같이 표시가 뜬다

제대로 구동되고 있음을 확인했다면 아래의 코드를 입력한다.

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

1-3 롬복의 정상구동 모습

HelloLombok 클래스에 hello(String)와 lombok(int) 2개의 속성 추가 후에 클래스 명 바로 위에 @Getter, @Setter 애너테이션 적용하니 Getter, Setter 메서드를 길게 추가 하지 않아도 위와 같이 setHello, setLombok, getHello, getLombok을 사용할 수 있다.

 

롬복이 제대로 적용안되었는지 확인 방법





이것을 보면 된다는데 봐도 나는 잘 모르겠다... 왜냐하면 이클립스에서도 저렇게 표기가 되어 있었는데도 적용이 안되었기 때문에 봐도 나는 잘 모르겠다.

RequiredArgsConstructor

HelloLombok 클래스에 @적용하기

package com.mysite.sbb;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
@Getter

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

바뀐 점은 @Setter가 필요없어지면서 Setter 메서드도 사용할 수 없게 됨. 

아래의 코드처럼 생성자를 직접 작성한 것과 위의 RequiredArgsConstructor이 들어간 것과 동일하다.

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

확실히 코드를 보면 라이브러리 추가된 이유로 코드가 줄어든 것을 확인할 수 있다. 하지만 아직 초보인 나로서는 줄여봤자 차이점을 아직 못느끼는 듯 하다.