AndroidStudio에서 lombok 사용하기
자바에서 코드를 작성 시 모델을 만들다 보면 constructor와 기본 getter/setter.. 그리고 상황에 따라서 builder를 만들어 사용해야 합니다.
그런데 이런 일들을 모두 타이핑 하다 보니 보일플레이트 같은 코드들이 많이도 써야 합니다. 코드 제너레이터들이 있어서 편하게 할 수 있긴 하지만 더 편한 방법이 없을까요?
저같은 경우는 lombok을 사용해서 모델 객체들의 불필요한 보일플레이트 코드들을 줄이고 있습니다. annotation방법으로 사용하기 때문에 사용방법도 간단합니다.
1. @Getter / @Setter
기본적으로 멤버필드들에 대한 getter/setter메소드들을 만들어 줍니다.
2. @AllArgsConstructor / @NoArgsConstructor
멤버필드들이 모두 파라미터로 지정된 생성자와 빈 생성자를 만들어 줍니다.
3. @Builder
모델을 빌더 패턴으로 만들어 줍니다.
4. @ToString
toString의 override된 메소드를 만들어 줍니다.
그 외에도 여러 가지가 있지만 lombok features 에서 더 많은 것을 확인할 수 있습니다.
그럼 AndroidStudio에 적용하는 방법을 알아보도록 하죠.
1. 우선 lombok plugin을 설치해야 합니다.
Preference -> Plugins -> Browse Repositories 에서 lombok을 검색하면 Lombok Plugin이 나옵니다. 이걸 설치해 줍니다.
2. gradle에 lombok적용하기.
"""
provided "org.projectlombok:lombok:1.16.8"
"""
3. 트러블슈팅??
- package javax.annotation does not exist
annotation does not exist...이걸 해결해 주기 위해서 gradle에 annotation을 provide해줍니다.
"""
provided 'org.glassfish:javax.annotation:10.0-b28'
"""
- cannot find symbol class ConstructorProperties
lombok.config 설정파일을 추가해 줘야 합니다. 프로젝트와 같은 root에 lombok.config파일을 만들고
'''
lombok.anyConstructor.suppressConstructorProperties = true
'''
와 같은 내용을 추가해 줍니다.
자세한 내용은 Configuration system 에서 확인할 수 있습니다.
이와같은 과정 후에 결과를 보게 된다면
AndroidStudio의 structures view를 보게 되면
이와 같은 결과를 볼 수 있습니다.
이제 lombok을 이용해서 코드 다이어트를!!
'Android' 카테고리의 다른 글
UnknownServiceException: CLEARTEXT communication to not permitted by network security policy (0) | 2019.02.26 |
---|---|
AndroidStudio에서 File Template이용하기. (0) | 2016.06.14 |
Dagger2 + Sqlbrite (0) | 2015.11.17 |
[Android] Dagger2에서 @Singleton scope및 custom scope annotation이용 (0) | 2015.11.10 |
Setting Up Android CheckStyle in Android Studio (0) | 2015.11.10 |