일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 우아한테크코스
- study
- 알고리즘
- 프로그래머스
- 에러
- Head First Design Pattern
- 독서리뷰
- Java
- 공부
- JPA
- 오라클
- 자바
- 디자인패턴
- 회고
- Design Pattern
- 인코딩
- 인강리뷰
- math
- 람다
- javascript
- spring
- 인프런
- 후기
- Singleton
- Oracle
- 매핑
- 이펙티브자바
- Eclipse
- 독서
- 카카오톡1차
- Today
- Total
Lee's Grow up
[Java/Lombok] Project Lombok 롬복 기초 사용법 / 다운로드 본문
Project Lombok? 롬복이란?
Project Lombok는 Java 라이브러리중 하나로, 멤버 변수에 대한 Getter/Setter, Method, Equlas(),ToString()등과 생성자 생성코드를 불필요하게 반복적으로 만들었지만, Annotation(어노테이션) 기반으로 자동으로 생성해 주는 라이브러리다.
Lombok(롬복) 다운로드
1. Lombok 공식 홈페이지를 통한 다운로드 : https://projectlombok.org
2. MVNrepository를 통한 다운로드 : https://mvnrepository.com
- lombok 입력 -> Project Lombok 클릭
- 원하는 버전의 lombok 선택 후 원하는 방식으로 다운로드 진행
Lombok(롬복) 설치하기
- cmd를 실행시켜서 lombok.jar이 설치된 경로로 이동
- cmd에 java -jar lombok-{설치한 버전}.jar 로 롬복 인스톨러를 실행 후 아래 이미지와 같은 화면이 뜨면, Install/Update를 클릭 ( java 명령어가 실행이 안된다면 환경 변수 설정부터 진행 할 것 -> 링크 Click Me )
- eclipse, STS, 전자정부프레임워크 등등... IDE가 설치된 폴더로 가서 lombok.jar이 생성되어 있으면 설치 완료
Lombok(롬복) 사용법
기존의 사용법 자바 클래스
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
|
public class Lombok {
private String str;
private Integer intNum;
private Long longNum;
public Lombok() {
super();
}
public Lombok(String str, Integer intNum, Long longNum) {
super();
this.str = str;
this.intNum = intNum;
this.longNum = longNum;
}
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public Integer getIntNum() {
return intNum;
}
public void setIntNum(Integer intNum) {
this.intNum = intNum;
}
public Long getLongNum() {
return longNum;
}
public void setLongNum(Long longNum) {
this.longNum = longNum;
}
@Override
public String toString() {
return "Lombok [str=" + str + ", intNum=" + intNum + ", longNum=" + longNum + "]";
}
}
|
lombok 사용 클래스
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@NoArgsConstructor
@AllArgsConstructor
@Data
public class Lombok {
private String str;
private Integer intNum;
private Long longNum;
}
|
위와 같이 기존의 코드를 어노테이션 선언으로 줄일 수 있는 효과가 있다.
자주 사용 되는 어노테이션
기준은 제 마음대로 입니다.... ㅎㅎ
어노테이션 | 설명 | |||
@Getter / @Setter |
접근자 설정자 생성에 대한 어노테이션 Class에 선언 : 모든 필드에 자동으로 접근자와 설정자 지정 Filed에 선언 : 선언된 필드값에 대한 접근자와 설정자 지정
|
|||
@NoArgsConstructor @RequiredArgsConstructor @AllArgsConstructor |
생성자에 생성에 대한 어노테이션 @NoArgsConstructor은 파라미터가 없는 기본 생성자를 생성 @AllargsConstructor은 모든 필드를 파라미터로 받는 생성자 생성 @RequiredAargConstructor은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 생성
|
|||
@ToString |
toString() 오버라이딩 메소드를 자동 생성 exclude 속성을 사하면 특정 필드를 toString()에서 제외가능 ex ) @ToString(exclude = "userName") 로 선언시 필드에서 userName는 제외하고 toString() 메소드를 생성한다.
|
|||
@EqualsAndHashCode |
equals()와 hashCode()를 자동생성 equals() = 객체의 값이 같은지 비교 hashCode() = 객체의 저장된 주소가 같은지 비교 callSuper 속성을 통해서 부모 클래스의 필드까지 비교할지 설정가능 @EqualsAndHashCode(callSuper = true ) 의 경우 부모 클래스의 값도 같은지 체크하며 false의 경우 자신 클래스의 필드 값들만 고려합니다.
|
|||
@Data |
위 본문 예제에서 사용된 어노테이션이며 위에 설명 된 @Getter/@Setter/@RequiredArgsConstrucotr/@ToString/@EqualsAndHashCode를 한번에 설정해주는 어노테이션
|
그 외 많은 어노테이션을 지원합니다. 필요한 내용은 공식홈페이지에 자세하게 설명되어 있으니 참고하면 좋을거 같습니다. 아래 공식홈페이지 링크입니다.
'PROGRAMMING > JAVA' 카테고리의 다른 글
[JAVA/JPA] JPA 와 ORM 기본 개념 Hibernate ORM (0) | 2019.12.05 |
---|---|
[EFFECTIVE JAVA 3/E] 객체 생성자 파괴 (0) | 2019.11.04 |
[Java] Image/이미지를 BinaryData/바이너리데이타 로 변환 후 Base64(Encodig/Decoding)를 통해 text/문자로 변환 (0) | 2019.10.23 |
[Java/java] Jsoup를 사용 크로울링 Crawling 해보기 / 방법 & JAVA SSL 인증서 추가방법 javax.net.ssl.SSLHandshakeException 오류 해결 (0) | 2019.09.27 |
[JAVA/자바] COLLECTION API, 컬렉션 API 다루기 (0) | 2019.09.20 |