SpringBoot

[Spring Boot 3] 롬복 과 리팩토링

하루이2222 2024. 7. 9. 02:54

lombok

롬복 이란 코드를 간소화 시켜주는 라이브러리 이다. 개발을 진행하다보면 getter(),setter(),contructor(),toStoring() 과 같은 메소들을 생각보다 많이 사용하게 되는데 이를 매번 작성하는것은 번거롭다, 이러한 반복적인 과정을 간소화 해주는 라이브러리가 롬복이다 .

Refactoring

리펙토링은 코드 기능 에는 변함 없이 코드의 구조 또는 성능 개성하는작업을 뜻함.

intall

Project > src 경로 아래 build.gradle 파일을 열고 다음과 같이 작성한다 .

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

Constructor 간소화

롬복의 기능 중 가장 많이 쓰게될 기능 이지 싶다 . 생성자 간소화 이다 .

클래스에서 기존의 생성자를 삭제한후


@AllArgsConstructor

@ToString 

//클래스
public class ArticlesForm {
    private Long id; //필드 정의
    private String title;
    private String content;
    //toEntity 메서드는 ArticlesForm 클래스의 인스턴스를 Article 클래스의 인스턴스로 변환
    public Article toEntity() {
        return new Article(id, title, content);
    }
}

다음과 같이 클래스 위에 @AllArgsConstructr를 입력 하면 생성자를 자동으로 추가해 준다 .

또한 @toString 을 추가 하면 toString 생성자도 작성 할 필요가 없다.

로깅

스프링에서 콘솔에 데이터를 출력할때 사용하는 system.out.println()을 리팩토링 할 수 있다.

@Slf4j
@Controller //이 클래스가 Controller 임을 선언

public class ArticlesController {
    @Autowired
    private ArticleRepository articleRepository;

    //아디클 입력 페이지
    @GetMapping("/articles/new")
    public String newArticlesForm() {
        return "articles/new";
    }
}

로깅을 사용하기 위하여 클래스 위에 @slf4j 어노테이션을 추가 해준다.

 @PostMapping("/articles/create")
    public String createArticles(ArticlesForm form) {
        log.info(form.toString());

        Article article = form.toEntity();
        log.info(article.toString());

        Article saved = articleRepository.save(article);
        log.info(saved.toString());

        return "redirect:/articles/" + saved.getId();
    }

그럼 와같이 log.info() 를 사용할수 있다. 다만 인텔리제이를 사용한다면 log플러그인을 설치해야 될 수도 있다.

'SpringBoot' 카테고리의 다른 글

[Spring Boot 3] CRUD  (2) 2024.07.09
[Spring Boot 3] MVC 패턴 과 View 탬플릿  (0) 2024.07.09
[Spring Boot 3]Form, DTO, Entity, Repository  (0) 2024.07.09