minlog
article thumbnail

1.  

2. Lombol API

 

setter, getter 자동 생성하는 API, 코드의 간략화를 해준다.

@Data 어노테이션을 통해 사용할 수 있다.

 

 

 

 

 

 

3. Lombol 세팅 방법 - 이클립스

3.0.1. 1. 아래 사이트에서 롬복 파일 다운로드 

 

Project Lombok

 

projectlombok.org

 

 

3.0.2. 2. 다운로드 받은 파일 경로

다운로드 받은 파일을 아래 경로에 넣어준다.

C:\eGovFrame-4.0.0\bin\eclipse 

 

 

3.0.3. 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) 경로를 이클립스로 넣어주고 설치한다.

 

 

 

3.0.4. 4. pom.xml에 Lombok연결

📑pom.xml 

<dependencies> .... 안에 아래 코드를 추가해준다.</dependencies>

<html />
<!-- 롬복 설치 --> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.12</version> <scope>provided</scope> </dependency>

 

 

 

 

4. Lombol 세팅 방법 - 인텔리제이 ( gradle )

4.0.1. 1. 플러그인에서 롬복 설치

file > setting > plugins > lombok 검색

 

 

4.0.2. 2. dependencies 추가

file > setting > plugins > lombok 검색

 

📑 build.gradle

<code />
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' }

4.0.3.  

4.0.4.  

4.0.5. 3. 어노테이션 사용가능

Annotation 의미
@Getter  
@Setter  
@ToString  
@NoArgsConstructor  인자 없는 생성자 - 디폴트 생성자
@AllArgsConstructor 객채의 모든 필드를 생성자로 받은것
@RequiredArgsConstructor 꼭 필요한 인자를 추가해서 사용해서 생성자로 사용 한다.
필요한 인자는 @NonNull로 필드에 선언해준다.
해당 인자가 없을경우, NoArgsConstructor 와 동일하게 사용된다
@NonNull 필수 요소
@EqualsAndHashCode  이퀄스 해쉬코드 메서드 사용 객체의 동등성을 비교해준다.
@Data getter, setter, RequiredArgsConstructor, ToString, EqualsAndHashCode 을 포함하게 된다.
@Builder AllArgsConstructor 와 비슷하게 객체를 생성하는데 필드 값을 주입하는데 builder의 형식으로 생성 해준다.

 

 

@Builder 를 사용한 생성 방법

<code />
@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(); }

 

<java />
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; }

 

 

5. Lombol API -  log

5.1. @Slf4j

log.info() 를 사용해서 로그를 남길 수 있다.

(  * Sysout.println() 대신 사용)

<java />
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); } }
profile

minlog

@jimin-log

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!