9_yoon
개발저장소
9_yoon
전체 방문자
오늘
어제
  • 분류 전체보기 (101)
    • 알고리즘 (52)
      • BJ (40)
      • 프로그래머스 (0)
      • SWEA (10)
      • JO (2)
    • 이론 공부 (7)
      • 네트워크 (2)
      • 알고리즘 (2)
      • Java (1)
      • Web (1)
      • 기타 (1)
    • 개발 공부 (35)
      • Project (1)
      • JavaScript (1)
      • Typescript (1)
      • Spring (12)
      • Java (2)
      • Next JS (7)
      • React (3)
      • Vue (1)
      • Web (5)
      • 기타 (2)
    • 기타 (7)
      • SSAFY (7)
      • 일상 (0)

인기 글

태그

  • 백준
  • 김영한 스프링
  • React
  • 노마드코더
  • 싸피7기
  • NextJS
  • SSAFY
  • SWEA
  • 싸피
  • 스프링

최근 글

티스토리

hELLO · Designed By 정상우.
9_yoon

개발저장소

[SpringBoot] 롬복 소개 및 설치
개발 공부/Spring

[SpringBoot] 롬복 소개 및 설치

2023. 1. 27. 16:21
728x90
반응형

 

롬복이란?

롬복은 자바 개발에서 자주 쓰이는 Getter, Setter, 기본 생성자 등을 어노테이션으로 자동 생성해준다.

프로젝트에 롬복 라이브러리 다운로드

build.gradle에 

implementation('org.projectlombok:lombok')

추가 후 gradle을 새로고침해준다. 

 

롬복 플러그인 설치는 플러그인 마켓에서 설치한 뒤 

여기를 체크해주면 된다. 

플러그인은 한번 설치하면 되지만 해당 과정은 프로젝트 마다 설정해줘야한다.

 

롬복 테스트

package com.jojoldu.book.springboot.web.dto;


import lombok.Getter;
import lombok.RequiredArgsConstructor;

@Getter
//선언된 모든 필드의 get메소드 생성
@RequiredArgsConstructor
//선언된 모든 final필드가 포함된 생성자 생성.
public class HelloResponseDto {
    private final String name;
    private final int amount;

}

참고로 위 코드는 gradle4버전에서만 실행되고 상위버전에서는 다르게 설정해줘야한다.

 

테스트 코드

package com.jojoldu.book.springboot.dto;

import org.junit.Test;
import com.jojoldu.book.springboot.web.dto.HelloResponseDto;
import static org.assertj.core.api.Assertions.assertThat;

public class HelloResponseDtoTest {
    @Test
    public void 롬복_기능_테스트(){
        //given
        String name = "test";
        int amount = 1000;

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

        //then
        //assertThat : 검증 메소드, 검증 대상을 인자로 받음
        assertThat(dto.getName()).isEqualTo(name);
        assertThat(dto.getAmount()).isEqualTo(amount);
    }
}

 

 

전에 작성했던 HelloController에 롬복을 활용하여 추가로 메소드를 작성해준다.

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello(){
        return "hello";
    }

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

@RequestParam은 API를 호출하는 곳에서 넘겨준 값이다. 해당 API를 테스트하기 위해 코드를 작성해준다.

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

        mvc.perform(get("/hello/dto")
                .param("name", name) //API 테스트에 사용되는 파라미터 설정. 단, 스트링만 가능. 숫자와 날짜는 문자열로 변경해줘야함
                .param("amount", String.valueOf(amount)))
                .andExpect(status().isOk())
                .andExpect(jsonPath("$.name", is(name))) //json 응답값을 필드별로 검증. $을 기준으로 필드명을 명시해준다.
                .andExpect(jsonPath("$.amount", is(amount)));

    }

 

 

참고

http://www.yes24.com/Product/Goods/83849117

 

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

가장 빠르고 쉽게 웹 서비스의 모든 과정을 경험한다. 경험이 실력이 되는 순간!이 책은 제목 그대로 스프링 부트와 AWS로 웹 서비스를 구현한다. JPA와 JUnit 테스트, 그레이들, 머스테치, 스프링

www.yes24.com

 

728x90
반응형
저작자표시 비영리 동일조건

'개발 공부 > Spring' 카테고리의 다른 글

[SpringBoot] 등록/수정/조회 API 만들기 - 그리고 중단..  (0) 2023.01.31
[SpringBoot] JPA로 데이터베이스 다루기  (0) 2023.01.28
[Springboot] 스프링 부트에서의 테스트 코드  (0) 2023.01.26
[SpringBoot] 스프링부트 프로젝트 세팅하기  (0) 2023.01.25
[Spring] 인프런 스프링 입문 강의 정리 #5  (0) 2022.06.26
    '개발 공부/Spring' 카테고리의 다른 글
    • [SpringBoot] 등록/수정/조회 API 만들기 - 그리고 중단..
    • [SpringBoot] JPA로 데이터베이스 다루기
    • [Springboot] 스프링 부트에서의 테스트 코드
    • [SpringBoot] 스프링부트 프로젝트 세팅하기
    9_yoon
    9_yoon
    배울게 넘쳐나는 개발 세상에서 묵묵히 걸어가며 지식을 쌓는 신입 개발자

    티스토리툴바