본문 바로가기

Java/Spring Boot

02-Lombok

01. 롬복(Lombok)

- getter, setter, 기본생성자, toString 등을 Annotation으로 자동 생성해 줌

 

02. 롬복 설치

- 이클립스와 다르게 인텔리제이에서는 플러그인 설치로 간편하게 사용 가능

 

1) build.gradle에 의존성 추가

compile('org.projectlombok:lombok')

2) Action 창 오픈 - Plugins 선택 - Marketplace탭에서 lombok 선택하여 install

 

03. 테스트

1) com.face.home.springboot.web.dto/HelloResponseDto.java

package com.face.home.springboot.web.dto;

import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
@RequiredArgsConstructor
public class HelloResponseDto {

    private final String name;
    private final int amount;

}

2) test/java/com.face.home.springboot/HelloResponseDtoTest.java

@RunWith(SpringRunner.class)
@SpringBootTest
public class HelloResponseDtoTest {

    @Test
    public void test_lombok() {

        // given
        String name = "test";
        int amount = 1000;

        // when
        HelloResponseDto dto = new HelloResponseDto(name, amount);

        // then
        assertThat(dto.getName()).isEqualTo(name);
        assertThat(dto.getAmount()).isEqualTo(amount);

    }

}

3) com.face.home.springboot.web/HelloController.java에 추가

@GetMapping("/hello/dto")
public HelloResponseDto helloDto(@RequestParam("name") String name, @RequestParam("amount") int amount) {
    return new HelloResponseDto(name, amount);
}

4) HelloControllerTest.java에 추가

@Test
public void helloDto가_리턴된다() throws Exception {
    String name = "hello";
    int amount = 1000;

    mvc.perform(get("/hello/dto").param("name", name).param("amount", String.valueOf(amount)))
                                            .andExpect(status().isOk())
                                            .andExpect(jsonPath("$.name", Matchers.is(name)))
                                            .andExpect(jsonPath("$.amount", Matchers.is(amount)));
}

 

 

 

참고

스프링 부트와 AWS로 혼자 구현하는 웹서비스

반응형