service
-
Spring Boot - Service와 ServiceImpl 구조Framework & Library/Spring Boot 2023. 2. 5. 17:06
Service와 ServiceImpl 구조 Service와 ServiceImpl 구조를 사용하는 이유 대부분의 프로젝트는 Service 클래스를 만들 때 MemberService와 같은 인터페이스를 설계한 후 MemberServiceImpl이라는 구현체 클래스를 생성해서 사용하는 방식으로 설계된다. 위와 같은 Service와 ServiceImpl을 구분해서 설계하는 이유는 인터페이스와 구현체를 분리함으로써 구현체를 독립적으로 확장할 수 있으며, 구현체 클래스를 변경하거나 확장해도 이를 사용하는 클라이언트의 코드에 영향을 주지 않도록 하기 위함이다. 이 같은 추상화를 통한 구현 방식은 객체지향 특징 중 하나인 다형성과 객체지향의 다섯 가지 원칙 중 하나인 OCP 원칙을 가장 잘 실현해 주는 설계 방식이다...
-
Spring Boot - 서비스 구조 살펴보기Framework & Library/Spring Boot 2022. 2. 3. 13:53
Spring Boot 서비스 구조 Entity(Domain) - DB에 쓰일 칼럼과 여러 Entity 값의 연관관계를 정의한 것이다. - DB의 테이블을 하나의 Entity 클래스로 생각해도 무방하다. - 실제 DB의 테이블과 1:1로 매핑된다. - Entity 클래스의 필드는 각 테이블 내부의 칼럼을 의미한다. Repository - DB에 접근하는 메서드를 사용하기 위한 인터페이스이다. - Service와 DB를 연결하는 고리의 역할을 수행한다. - DB에 적용하고자 하는 CRUD를 정의하는 영역이다. DAO(Data Access Object) - DB에 접근하는 객체를 의미한다. - Service가 DB에 연결할 수 있게 도와주는 역할을 수행한다. - DB에 접근하여 데이터를 조회하거나 조작하는 기..