스프링부트
1-4 스프링부트도구2
늦게 시작한 개발자
2022. 12. 14. 16:31
1-3 에서 롬복 실행이 제대로 되지 않아서 새롭게 STS를 설치 후 1-3까지 처리를 하였다.
롬복이 제대로 실행되는지 확인할 순서다.
- 우선 HelloLombok 클래스를 작성하여 롬복 동작 여부를 확인해본다.
제대로 구동되고 있음을 확인했다면 아래의 코드를 입력한다.
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 클래스에 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());
}
}
확실히 코드를 보면 라이브러리 추가된 이유로 코드가 줄어든 것을 확인할 수 있다. 하지만 아직 초보인 나로서는 줄여봤자 차이점을 아직 못느끼는 듯 하다.