Lombok

Gyuhan Park·2022년 7월 31일
0

spring

목록 보기
8/18

Lombok

어노테이션을 이용해 코드를 리팩토링하거나 로깅 기능을 가지고 있는 라이브러리

롬복 설치 방법

build.gradle > dependency

compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'

annotationProcessor 적용 방법

preferences > compiler > annotation processors > enable annotation processing 체크

# DTO

package com.example.demo.dto;

import com.example.demo.entity.Article;
import lombok.AllArgsConstructor;
import lombok.ToString;

@AllArgsConstructor // 생성자
@ToString // toString method
public class ArticleForm {

   private String title;
   private String content;

   public Article toEntity(){
       return new Article(null, title, content);
   }
}

# Controller

package com.example.demo.controller;

import com.example.demo.dto.ArticleForm;
import com.example.demo.entity.Article;
import com.example.demo.repository.ArticleRepository;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;

@Controller
@Slf4j
public class articleController {

   @Autowired
   ArticleRepository articleRepository;

   @GetMapping("/article")
   public String viewForm(){
       return "articles/new";
   }

   @PostMapping("/article/create")
   public String getFormData(ArticleForm form){
//        System.out.println(form.toString());
       log.info(form.toString());
       
       Article article = form.toEntity();
//        System.out.println(article.toString());
       log.info(article.toString());

       Article saved = articleRepository.save(article);
//        System.out.println(saved.toString());
       log.info(saved.toString());
       return "";
   }
}
profile
단단한 프론트엔드 개발자가 되고 싶은

0개의 댓글