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 |