Spring

[스프링] Lombok - @Builder

웨일파도 2023. 7. 7. 12:44
반응형

@Builder

package com.example.practice5.lombok.model;

import lombok.*;
import org.springframework.web.util.pattern.PathPattern;

import java.time.LocalDateTime;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@RequiredArgsConstructor
@ToString
@Builder
public class User {
    @NonNull
    private String name;
    @NonNull
    private String email;
    private LocalDateTime createAt;
    private LocalDateTime updateAt;

}
package com.example.practice5.lombok;

import com.example.practice5.lombok.model.User;

public class LombokTestApplication {
    public static void main(String[] args) {


    }
}

user builder 이용한 user 객체 생성
null pointer exception 을 방지하는 기능

package com.example.practice5.lombok;

import com.example.practice5.lombok.model.User;
import org.junit.jupiter.api.*;

import java.time.LocalDate;
import java.time.LocalDateTime;

import static org.junit.jupiter.api.Assertions.*;

class LombokTestApplicationTest {

    @BeforeEach
    void setUp() {
    }

    @DisplayName("Lombok 테스트")
    @Test
    void lombokTest() {
        User user = new User();
        user.setName("홍길동");
        user.setEmail("gildong@gmail.com");

        User user2 = new User("김복순", "boksun@abc.com", LocalDateTime.now(), LocalDateTime.now());
        User user3 = new User("엄복동", "bokdong@abc.com");


        System.out.println(user.getName());
        System.out.println(user.getEmail());

        // user builder 이용한 user 객체 생성
        // null pointer exception 을 방지하는 기능
        User user4 = User.builder()
                .name("태리")
                .email("asdlfj@naver.com")
                .createAt(LocalDateTime.now()).build();

        System.out.println("-----user4-----");
        System.out.println(user4.getName());
        System.out.println(user4.getEmail());
        System.out.println(user4.getCreateAt());

    }

    @AfterEach
    void tearDown() {
    }


}

user4 객체 확인하기

반응형

'Spring' 카테고리의 다른 글

[스프링] intellij - h2 database  (0) 2023.07.07
[스프링] Lombok - @Data  (0) 2023.07.07
[스프링] [java] Lombok annotation  (0) 2023.07.07
[스프링] banner 변경  (0) 2023.07.07
[스프링] interceptor  (0) 2023.07.06