🔍lombok이란?
- Java의 라이브러리로 반복되는 메소드를 어노테이션을 사용해서 자동으로 작성해주는 라이브러리
- 보통 DTO나 Model, Entity의 경우 여러 속성이 존재하고 이들이 가지는 프로퍼티에 대해 Getter, Setter, 생성자 등을 매번 작성해줘야 하는 경우가 많은데 이러한 부분을 자동으로 만들어주는 라이브러리라고 생각하면 된다.
🤍lombok 세팅
맨 처음에 프로젝트를 만들 때 lombok 의존성을 추가해주었다.
이제 STS에서 사용할 수 있도록 설치를 해줘야 한다. pom.xml을 보면 dependency가 아래와 같이 추가되어 있다.
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
user 폴더의 .m2 -> repository 폴더가 의존성이 추가되는 폴더인데
여기에서 위에 dependency에 선언되어 있는 org.projectlombok 폴더를 들어가 보면 jar파일을 확인할 수 있다.
git bash 해주고 아래 명령어를 입력해 주면 롬복 설치 창이 뜬다.
java -jar lombok-1.18.22.jar
여기에서 STS4가 설치된 경로로 들어가 STS4를 추가해 준 뒤 Install 버튼을 클릭하면 설치 완료!
🤍lombok 사용해보기
기존에 만들었던 Member.java 파일을 수정해 준다.
이제 롬복을 사용할 수 있으므로 선언했던 getter/setter를 지워줘도 된다.
- @Getter : 게터 만들기
- @Setter : 세터 만들기
- @Data : 게터, 세터 동시에 만들기
- @AllArgsConstructor : 생성자 만들기
- @RequiredArgsConstructor : final이 붙은 변수에 대한 생성자 만들기
final 선언은 아직 필요없기 때문에 아래와 같이 수정해 준다.
HttpController.java 클래스로 와서 객체를 만들려고 하면 롬복 덕분에 생성자를 선언할 수 있게 되었다. 빈 생성자도 생겼다.
그리고 게터, 세터도 사용할 수 있다. 아래와 같이 코드를 수정하고
매핑해둔 주소로 이동하면 화면이 잘 뜨는 것을 확인할 수 있다.
콘솔창에 getter/setter 값도 잘 넘어온다.
이번엔 builder를 사용해서
아래와 같이 코드를 수정한다. 기존에는 저렇게 매개변수를 바꾸려면 오버라이딩이 필요했지만 @Builder 롬복 라이브러리 덕분에 해당 과정을 생략하고 훨씬 간결한 코드가 가능해졌다.
다시 실행해 보면 콘솔창에 값이 잘 넘어온다. id값을 주지 않았기 때문에 0(숫자 null일 때에는 0)으로 넘어온다.
'💻 my code archive > 🏷️JAVA & Spring(Boot)' 카테고리의 다른 글
스프링부트 공부기록(19) - MariaDB 설치, JPARepository 인터페이스 사용, 테스트 코드 CRUD 연습 (0) | 2022.03.16 |
---|---|
스프링부트 공부기록(18) - 프로젝트 준비, 컨트롤러 실습, jar 파일 실행해보기 (0) | 2022.03.16 |
[스프링부트 블로그 만들기] Http 요청 방식, MIME 타입 (0) | 2022.03.15 |
[스프링부트 블로그 만들기] STS 설치, 의존성, MySQL 세팅, 깃허브 연동, 프로젝트 실행하기 (0) | 2022.03.15 |
스프링부트 공부기록(17) - 무중단 배포 만들기 (0) | 2022.03.08 |