본문 바로가기

Spring18

스프링 빈과 의존성 주입 실습 PostController 수정 package com.eom.controllerexercise.controller; import com.eom.controllerexercise.dto.PostDto; import com.eom.controllerexercise.service.PostService; import org.springframework.web.bind.annotation.*; import static org.springframework.web.bind.annotation.RequestMethod.*; @RestController @RequestMapping(value = "/post") public class PostController { PostService postService; // 생성자.. 2024. 3. 21.
스프링 빈과 의존성 주입 · 의존성 (Dependency) - 하나의 모듈 (클래스, 패키지 등)이 다른 모듈을 사용하는 것 객체의 활용과 의존성 · 일반적으로 다른 객체의 기능을 사용하기 위해서는 멤버 변수에 new로 객체를 생성하여 참조 · 생성한 객체의 메소드를 호출 · 어떤 객체를 생성하여 사용할 것인지 코드 상에 명시 - compile-time 의존성이 생성 됨 의존성 주입 (DI, Dependency Injection) · 객체 생성을 외부에서 대신 수행 · 활용할 객체에 대한 의존성(참조) 설정을 외부에서 대신 해줌 · 활용할 클래스(인터페이스)타입의 멤버 변수만 선언 후 생성자 구현 - new 키워드로 객체 생성 직접 하지 않음 그럼 PostController 객체는 누가 생성하는 것일까? Spring Framew.. 2024. 3. 21.
Spring Service 실습 service 패키지 생성 후 PostService 클래스 생성 package com.eom.controllerexercise.service; import com.eom.controllerexercise.dto.PostDto; import org.springframework.stereotype.Service; @Service public class PostService { public PostDto getPost(Integer id) { System.out.println("find post data from database by" + id); System.out.println("validate dataa from database"); System.out.println("process data if nec.. 2024. 3. 21.
Spring Service Spring Service · 시스템의 핵심 비즈니스 로직을 구현하는 계층 · SNS 시스템의 경우 - 이미지, 글 등의 컨텐츠 정보를 저장 - 사용자가 선호할만한 컨텐츠를 추천 - 회원가입, 로그인, 회원 탈퇴 등의 회원 관련 처리 · view의 종류와 database 종류에 영향을 받지 않는 독립적인 계층 - 영향을 받지 않도록 설계 해야 함 Service의 구현 · 클래스에 @Service Annotation 사용 · 파라미터로 전달 된 데이터들의 검증 작업 수행 · Repository 계층을 활용하여 database에 접근 - Service 계층의 단일 메소드가 transaction의 단위가 됨 · 애플리케이션의 세부 영역(User, Post, ..) 별로 클래스를 생성하여 구현 · 인터페이스의 .. 2024. 3. 21.