일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이클립스
- 프로그래밍
- Git
- 컴퓨터과학개론
- github
- 프로그래밍기초
- spring
- 클래스
- 스프링 기초
- 알고리즘
- 코딩초보
- 리눅스
- 초보코딩
- 자바 스프링
- Elk
- JAVA기초
- 기초코딩
- 배열
- 자바
- eclips
- 초보코딩탈출
- Java
- 자바기초
- 프로그래밍언어
- JShell
- 스프링
- 자바프로그래밍
- 메소드
- 데이터베이스
- 제이쉘
- Today
- Total
키보드워리어
[spring framework] 롬복 어노테이션 기능 구현 본문
안녕하세요 【키보드 워리어】 블로그 방문자 여러분, 안경닦이입니다.
오늘은 롬복 기능에 대해 포스팅합니다.
롬복 기능 구현 (builde.gradle)
맨 처음엔 plugin으로 롬복을 다운받은 이후에 build.gradle 파일을 수정합니다.
dependencies {
implementation('org.projectlombok:lombok')
annotationProcessor ('org.projectlombok:lombok')
testAnnotationProcessor('org.projectlombok:lombok')
}
*gradle 버전이 올라오게 되면서 compile이 implementation으로 변경되었습니다.
test코드를 작성할때 만약 error: cannot find symbol gradle 이런 에러가 뜨면 annotationProcessor를 추가해 주세요.
롬복 기능 이점
롬복은 자바 언어의 개발 생산성을 높이기 위해 만들어진 라이브러리입니다.
롬복을 사용하면 코드가 깔끔해져서 가독성을 높이며, 개발 생산성을 향상할 수 있습니다. 사용해 보시길 적극 추천드립니다.
몇 가지 어노테이션
@RequiredArgsConstructor
@RequiredArgsConstructor는 생성자를 자동으로 생성해 주는 롬복 어노테이션입니다. 이 어노테이션을 사용하면 final로 선언된 필드를 인자로 받는 생성자를 자동으로 생성해 줍니다. 생성자 코드를 일일이 작성하지 않아도 되므로, 개발 생산성을 향상할 수 있습니다.
import lombok.RequiredArgsConstructor;
@RequiredArgsConstructor
public class MyService {
private final MyRepository myRepository;
private final MyConfig myConfig;
// ...
}
@Getter *Setter도 마찬가지입니다.
@Getter는 Getter 메서드를 자동으로 생성해주는 롬복 어노테이션입니다. 이를 사용하면 Getter 메소드를 일일이 작성하지 않아도 되며
로, 코드의 중복성을 줄일 수 있습니다.
또한, 롬복의 @Getter는 일반적인 Getter와 달리 Null 값을 처리하는 로직도 자동으로 생성해 주기 때문에, Null 처리 코드를 작성할 필요
가 없습니다. 이를 통해 코드의 가독성을 높일 수 있습니다.
@Getter
@RequiredArgsConstructor
public class HelloResponseDto {
private final String name;
private final int amount;
}
import lombok.Builder;
@Builder
public class User {
private String username;
private String password;
private String email;
private String phone;
}
// 객체 생성 예시
User user = User.builder()
.username("홍길동")
.password("password")
.email("임시이메일@example.com")
.phone("01012345678")
.build();
인자값이 많을 때 빌더를 만드는 게 헷갈리지 않습니다.
'Spring framework' 카테고리의 다른 글
[Spring MVC] 공식문서 정리 - MVC (0) | 2023.07.25 |
---|---|
[Spring] @Target에 대해서 알아보자. (0) | 2023.06.14 |
[스프링] SOLID에 대해서 (2) | 2023.05.07 |
[스프링] Thymeleaf로 index.html연결 실습 (0) | 2023.04.12 |
[스프링] application.properties란? (0) | 2023.04.09 |