ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Spring] 롬복 라이브러리 / 설치 및 사용법
    JAVA/Spring(Springboot) 2021. 7. 23. 23:13
    728x90
    728x90

    개발을 해보면 대부분이 다 불변이기 때문에 생성자에 final 키워드를 사용하게 된다

    생성자 주입을 하게 되면 생성자도 만들어야 하고, 

    주입받은 값을 대입하는 코드도 만들어야하므로 코드를 작성하기가 귀찮아진다

    -> '롬복'이라는 라이브러리를 사용하면 훨씬 간편해진다!!

     

    롬복 라이브러리는 자바의 '애노테이션 프로세서' 기능을 이용해서 

    컴파일 시점에 코드를 자동으로 생성해준다

    롬복 라이브러리는 Getter, Setter, 생성자를 자동으로 만들어준다!!

     

     

     

    롬복 라이브러리 설치

    롬복 라이브러리를 spring boot 를 생성할때 library 추가를 통해 사용할 수 있다

    Spring Initializr

    사이트에서

     

     

     

    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;
        
    }
    728x90
    728x90
Designed by Tistory.