-
[Spring] 롬복 라이브러리 / 설치 및 사용법JAVA/Spring(Springboot) 2021. 7. 23. 23:13728x90
개발을 해보면 대부분이 다 불변이기 때문에 생성자에 final 키워드를 사용하게 된다
생성자 주입을 하게 되면 생성자도 만들어야 하고,
주입받은 값을 대입하는 코드도 만들어야하므로 코드를 작성하기가 귀찮아진다
-> '롬복'이라는 라이브러리를 사용하면 훨씬 간편해진다!!
롬복 라이브러리는 자바의 '애노테이션 프로세서' 기능을 이용해서
컴파일 시점에 코드를 자동으로 생성해준다
롬복 라이브러리는 Getter, Setter, 생성자를 자동으로 만들어준다!!
롬복 라이브러리 설치
롬복 라이브러리를 spring boot 를 생성할때 library 추가를 통해 사용할 수 있다
사이트에서
ADD DEPENDENCIES 를 클릭하고
Lombok 을 검색하여 추가한다
또는 이미 생성된 스프링 프로젝트라면
프로젝트의 build.gradle 에 들어가서
//lombok 설정 추가 시작 configurations { compileOnly { extendsFrom annotationProcessor } } //lombok 설정 추가 끝 dependencies { //lombok 라이브러리 추가 시작 compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' //lombok 라이브러리 추가 끝 }
위 코드를 추가해 주면 된다
dependencies 에서는 기존의 소스에 추가로 입력해주면 된다
그리고 코끼리 모양 아이콘(Reload)를 클릭한다
File > Settings 를 클릭한다
lombok 을 검색하여 설치해 준다
그리고 annotation processors 를 검색한 다음에
Enable annotation processing 을 꼭 체크해주어야 한다
이러면 이제 InteliJ 에서 lombok 을 사용할 수 있게 된다!!
롬복 라이브러리 사용법
롬복 라이브러리를 사용하면 getter, setter 를 자동으로 만들어주고,
toString 메서드도 자동으로 만들어준다
사용법은 아래와 같다
@Getter @Setter @ToString public class Hello { private String name; private int age; public static void main(String[] args) { Hello hello = new Hello(); hello.setName("hihi"); hello.getName(); System.out.println("hello = " + hello); } }
간단한 Hello 라는 클래스를 생성하였다
name, age 라는 필드가 존재한다
클래스 위에 @Getter, @Setter, @ToString 을 적게 되면 Lombok 을 사용할 수 있게 된다
코드를 보면 getter, setter, toString 메서드를 정의하지 않아도 바로 사용할 수 있는 것을 알 수 있다
참고로 ToString 의 모습은 아래와 같다
생성자를 자동으로 만들기 위해서는 클래스에 @RequiredArgsConstructor 를 적어줘야 한다
@RequiredArgsConstructor 를 적으면 final 이 붙은 변수를 참고하여 생성자를 자동으로 만들어 준다!
@Component @RequiredArgsConstructor public class OrderServiceImpl implements OrderService{ private final MemberRepository memberRepository; private final DiscountPolicy discountPolicy; }
728x90728x90'JAVA > Spring(Springboot)' 카테고리의 다른 글
[Spring] HttpServlet JSON 데이터 객체형태로 받기 / @RequestBody 로 JSON 데이터 받기 (0) 2021.07.29 [Spring] 여러 빈 중 빈을 선택해서(동적으로 빈을 선택하여) 서비스를 수행하고 싶을 때 (0) 2021.07.24 [Spring] 빈이 충돌나는 경우 (0) 2021.07.21 [Spring] Bean을 생성하는 방법 (0) 2021.07.18