Tarake 2024. 9. 10. 19:44

비즈니스 계층


비즈니스 계층을 사용하기 위해 ItemService.java 파일을 생성합니다.

서비스 클래스는 Item 엔티티를 관리하는 ItemRepository와 상호작용하여 데이터를 처리합니다.

 

@Service: 이 어노테이션은 해당 클래스가 서비스 레이어의 컴포넌트임을 나타냅니다.

 

@Autowired: 이 어노테이션은 의존성 주입을 나타냅니다. final을 붙인 이유는 itemRepository가 변경될 일이 없기 때문에 final을 붙여줍니다.

 

public List<Item> getItemByPage(): 이 메소드는 Item 객체의 리스트를 반환하는 메서드입니다.

 

List<Item> page = itemRepository.findAll();: ItemRepository의 findAll() 메서드를 호출하여 모든 Item 객체를 리스트로 가져옵니다.

 

if (page.isEmpty()): 리스트가 비어 있는지 확인합니다. 비어 있을 경우, 즉 데이터가 없을 경우 null을 반환합니다.

 

return page;: 비어 있지 않은 경우, 조회한 Item 리스트를 반환합니다

 

즉 비즈니스 계층(서비스)은 프레젠테이션 계층(컨트롤러)에서 GET, POST 요청을 받으면 요청에 맞는 메소드를 실행합니다. 프레젠테이션 계층은 비즈니스 계층에 대한 의존성이 추가되어 있기 때문에 서로 소통이 가능합니다. 따라서 프레젠테이션 계층의 메소드에서 비즈니스 계층 메소드 호출이 가능합니다. 그럼 비즈니스 계층 메소드가 실행되고 비즈니스 계층은 퍼시스턴스 계층과 소통이 가능하기 때문에 퍼시스턴스 계층에서 데이터 호출을 하고 프레젠테이션 계층에 반환합니다.