ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 5. Spring Boot : Service란
    개발/Spring Boot 2024. 7. 30. 16:50

    * 본 글은 벡엔드 부트캠프를 진행하며 작성했습니다.

     

    # Controller - Repository 사용

    @RequiredArgsConstructor
    @Controller
    public class QuestionController {
    
        private final QuestionRepository questionRepository;
    
        @GetMapping("/question/list")
        public String list(Model model) {
            List<Question> questionList = this.questionRepository.findAll();
            model.addAttribute("questionList", questionList);
            return "question_list";
        }
    
    }

     

    Controller에서는 Repository를 직접적으로 바로 사용할 수 있다. 복잡한 쿼리 없이 CRUD 작업를 간결하게 작성할 수 있다.

     

     

    # Service란

    서비스란 스프링에서 데이터 처리를 위해 작성하는 클래스를 말한다. 데이터베이스 작업 뿐만 아니라 데이터 처리, 검증, 트랜잭션 관리 등의 비즈니스 로직을 수행한다. 

     

    # Service를 사용하는 이유

    코드의 유지보수성과 재사용성, 테스트 용이성을 높이기 위해 서비스를 사용한다.

     

    # 로직 분리

    로직을 분리하기 위해 서비스를 사용할 수 있다. 컨트롤러, 서비스, 리포지토리는 모두 각기 다른 목적을 가지고 있다. 컨트롤러는 HTTP 응답 반환에, 서비스는 비즈니스 로직을 처리하기 위해, 리포지토리는 CRUD 작업을 담당하고 있다.

     

    # 캡슐화

    캡슐화의 일종으로써, 각각의 로직은 다른 로직의 세부적인 내용을 파악할 필요가 없다. 이는 코드의 재사용성, 유지보수성을 높여준다. 

    이런 변경은 향후 서비스의 확장시에 유용하다. 

     

     

     

     

     

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

    7. Spring Boot : @Service와 @Controller  (0) 2024.07.30
    6. Spring Boot : 의존성 주입  (0) 2024.07.30
    4. Spring Boot : H2 데이터베이스  (0) 2024.07.29
    3. Spring Boot : ORM과 JPA  (0) 2024.07.29
    2. Spring Boot Controller  (0) 2024.07.29

    댓글

Designed by Tistory.