| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
- OpenCV
- 코딩테스트
- nestjs typeorm
- @Autowired
- 파이썬
- 시스템호출
- 프로그래머스
- spring boot
- 스프링
- python
- 구조체배열
- AWS
- 가상면접사례로배우는대규모시스템설계기초
- @Component
- nestJS
- C언어
- 컴포넌트스캔
- nestjs auth
- thymeleaf
- Nodejs
- Spring
- 카카오 알고리즘
- 알고리즘
- git
- C++
- 카카오
- 코테
- 카카오 코테
- 해시
- TypeORM
- Today
- Total
공부 기록장 💻
[Spring] Lombok 라이브러리 적용하기(@RequiredArgsConstructor, @Getter,@Setter, @Tostring) 본문
[Spring] Lombok 라이브러리 적용하기(@RequiredArgsConstructor, @Getter,@Setter, @Tostring)
dream_for 2023. 2. 3. 17:50생성자와 Getter, Setter 등 작성해야 하는 코드를 간결하게 줄여주는 Lombok 라이브러리에 대해 알아보자.
롬복이란?
Project Lombok is a java library that automatically plugs into your editor and build tools, spicing up your java.
Never write another getter or equals method again, with one annotation your class has a fully featured builder, Automate your logging variables, and much more.
롬복은 Java 라이브러리로 반복되는 getter, setter, toString 등의 메서드 작성 코드를 줄여주는 라이브러리이다.
보통 Model이나 Entity와 같은 도메인 클래스에 멤버 변수가 많이 포함되어 있고, 이에 대응하는 getter, setter 를 일일히 작성해 줘야 할 때가 많다. Lombk 라이브러리는, 어노테이션 하나만으로 이를 컴파일 과정에서 생성해주는 방식으로 동작하는 라이브러리이다.
롬복 라이브러리
build.gradle 에서 다음과 같이 configurations과 dependencies 부분에 추가를 해주자.

위의 라이브러리 의존성들을 다운 받은 후에,
1. settings -> plugin 에서 Lombok을 검색하여 설치 실행을 하고,
2. settings의 build, execution and deployment > compiler 에서 annotation processor 을 검색하여 enable annotation processing 을 클릭하여 어노테이션 프로세싱을 허용하도록 하자.


이제 getter, setter, toString 메서드와 일부 생성자에 대하여, @Getter, @Setter , @ToString애노테이션만 명시해주면, 따로 메서드 작성하지 않아도 바로 사용이 가능하다.
@RequiredArgsConstructor
@RequiredArgsConstructor은 final 키워드가 붙은 필드들에 대하여 자동으로 생성자를 만들어어주는 애노테이션이다. 생성자가 한 개인 경우에는, 역시나 @Autowired를 따로 사용하지 않아도 된다.

@Getter, @Setter, @ToString
@Getter, @Setter 애노테이션을 추가하면 클래스의 모든 멤버 변수들에 대한 getXx(), setXx() 메서드를 자동으로 추가해준다.
다음과 같이 멤버 변수가 3개만 있음에도, 작성해야 할 getter, setter 메서드가 벌써 6개이다.

@Getter, @Setter을 사용하면 다음과 같이 확연히 클래스의 길이가 줄어든 것을 확인할 수 있다.

이번에는 Order 클래스에 lombok을 추가해보자.

적용한 @ToString을 확인해보면 다음과 같다. Order을 출력했을 때, 다음과 같은 형태로 멤버 변수들의 정보를 자동적으로 출력해주는 역할을 한다.

'# Tech Studies > Java Spring • Boot' 카테고리의 다른 글
| [Spring] List, Map을 이용해 동일한 타입 내 모든 스프링 빈 조회하기 (다형성에 기반한 전략 패턴을 활용하여 할인 정책 서비스 구현하기) (0) | 2023.02.09 |
|---|---|
| [Spring] 조회 빈이 2개 이상인 경우의 문제를 해결해보자 (필드명, @Qualifier, @Primary) (0) | 2023.02.09 |
| [Spring] @Autowired를 통한 의존 관계 주입 시 주입할 스프링 빈이 없는 경우 처리하는 방법 (0) | 2023.02.03 |
| [Spring] 의존 관계 자동 주입의 4가지 방법과 특징, 생성자를 통해 주입해야하는 이유 (0) | 2023.02.03 |
| [Spring] 컴포넌트 스캔의 중복 등록과 충돌 (수동 빈 등록의 우선권과 오버라이딩 에러) (0) | 2023.02.02 |