Lombol API
setter, getter 자동 생성하는 API, 코드의 간략화를 해준다.
@Data 어노테이션을 통해 사용할 수 있다.
Lombol 세팅 방법 - 이클립스
1. 아래 사이트에서 롬복 파일 다운로드
2. 다운로드 받은 파일 경로
다운로드 받은 파일을 아래 경로에 넣어준다.
C:\eGovFrame-4.0.0\bin\eclipse
3. 명령프롬프트(cmd)에서 설치
1) 경로 이동
cd C:\eGovFrame-4.0.0\bin\jdk8u242-b08\bin
2) 롬복.jar 파일 실행
java -jar C:\eGovFrame-4.0.0\bin\eclipse\lombok.jar
3) 경로를 이클립스로 넣어주고 설치한다.
4. pom.xml에 Lombok연결
📑pom.xml
<dependencies> .... 안에 아래 코드를 추가해준다.</dependencies>
<!-- 롬복 설치 -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.12</version>
<scope>provided</scope>
</dependency>
Lombol 세팅 방법 - 인텔리제이 ( gradle )
1. 플러그인에서 롬복 설치
file > setting > plugins > lombok 검색
2. dependencies 추가
file > setting > plugins > lombok 검색
📑 build.gradle
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
3. 어노테이션 사용가능
Annotation | 의미 |
@Getter | |
@Setter | |
@ToString | |
@NoArgsConstructor | 인자 없는 생성자 - 디폴트 생성자 |
@AllArgsConstructor | 객채의 모든 필드를 생성자로 받은것 |
@RequiredArgsConstructor | 꼭 필요한 인자를 추가해서 사용해서 생성자로 사용 한다. 필요한 인자는 @NonNull로 필드에 선언해준다. 해당 인자가 없을경우, NoArgsConstructor 와 동일하게 사용된다 |
@NonNull | 필수 요소 |
@EqualsAndHashCode | 이퀄스 해쉬코드 메서드 사용 객체의 동등성을 비교해준다. |
@Data | getter, setter, RequiredArgsConstructor, ToString, EqualsAndHashCode 을 포함하게 된다. |
@Builder | AllArgsConstructor 와 비슷하게 객체를 생성하는데 필드 값을 주입하는데 builder의 형식으로 생성 해준다. |
@Builder 를 사용한 생성 방법
@Test
void test(){
User user = new User();
user.setEmail("mm@gmail.com");
user.setName("MM");
System.out.println(user);
User user1 = User.builder().name("길동이").email("ma@naver.com").build();
}
package com.fastcampus.jpa.bookmanager.domain;
import lombok.*;
import java.time.LocalDateTime;
@Getter
@Setter
@ToString
@NoArgsConstructor
@AllArgsConstructor
@RequiredArgsConstructor
@EqualsAndHashCode
@Data
@Builder
public class User {
@NonNull //필수 값이 된다.
private String name;
@NonNull
private String email;
private LocalDateTime createdAt;
private LocalDateTime updateAt;
}
Lombol API - log
@Slf4j
log.info() 를 사용해서 로그를 남길 수 있다.
( * Sysout.println() 대신 사용)
package com.example.filter.controller;
import com.example.filter.dto.User;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping("/api")
public class ApiController {
@PostMapping("")
public User user(@RequestBody User user){
log.info("user:{},{}",user,user);
}
}
'BackEnd > Spring Boot' 카테고리의 다른 글
[ Spring ] 아이디 중복 체크 ajax 사용 - (1) 회원가입 (0) | 2023.03.02 |
---|---|
[ Spring ] JSON 객체 타입을 리턴하는 비동기식 처리방식 (0) | 2023.02.28 |
[ Spring ] MySQL - (2) Mybatis Api 사용 (0) | 2023.02.28 |
[ Spring ] MySQL - (1) 이클립스 세팅 및 실행 (1) | 2023.02.28 |
[ Spring ] xml - 스프링 프로젝트 실행 절차의 이해 (0) | 2023.02.26 |