티스토리 뷰

회원 관리 예제 만들어보기

웹 애플리케이션 계층 구조

컨트롤러 : 웹 MVCdml 컨트롤러 역할                 리포지토리 : DB에 접근, 도메인 객체를 DB에  저장

서비스 : 핵심 비즈니스 로직 구현                         도메인 : 비즈니스 도메인 객체(회원, 주문 등 ..), DB에 저장됨

 

테스트케이스 - main메서드 실행하거나, 컨트롤러를 통해 해당 기능을 실행하여 검증하기는 오래걸리고 반복이 어렵다.

                        JUnit 프레임워크를 통해 이를 해결할 수 있다.

  짧게 배운 테스트 해보기

      Test 패키지에 테스트하려는 대상Test 클래스 생성 후 @Test를 사용한다. (Test라는 것을 알려줌)

      테스트는 순서가 랜덤, 각 테스트들끼리는 의존적이지 않아야 한다.

      각 테스트가 끝난 후 테스트에 사용한 객체를 초기화 해줘야 한다. (보통 @AfterEach를 사용한다고 한다.)

      테스트 시 given -> when -> then 사항을 준수하며 작성해보자.

 

 

스프링 빈과 의존관계

  스프링 빈은 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트이다.

  빈은 인스턴스화된 객체를 의미하며, 스프링 컨테이너에 등록된 객체를 스프링 빈이라고 한다.

  -> 스프링 빈을 통해 클래스마 객체 생성 하지 않고 하나의 객체를 공유하여 쓸 수 있다. ( 일반적으로 싱글톤 방식 )

  등록 방법

    컴포넌트 스캔과 자동 의존관계 설정

        @Component( @SpringBootApplication과 같은 패키지의 있는 어노테이션을 모두 스프링 빈에 자동 등록 시킴 )

          @Controller, @Service, @Repository -> @Component를 세분화(정형화) 한 어노테이션

    자바 코드로 직접 스프링 빈 등록하기

 

  의존 관계 성립 

스프링 빈의 모습

  각 컨트롤러, 서비스, 리포지토리에 컴포넌트 스캔을 하면 스프링 빈으로 등록되며,

  객체가 필요한 경우 객체 생성이 아닌 @Autowired를 사용한 생성자를 통해 의존성 주입을 받는다.  

  +) 의존성 주입(Dependency Injection) - 생성자 주입(선호), 필드 주입(비추), Setter를 통한 주입(접근이 public이라 불안..) 

 

 

    

 

 

 

본 포스팅은 인프런 강의 중 김영한님의

[ 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 을 수강하며 작성한 내용입니다.

공지사항
최근에 올라온 글
최근에 달린 댓글
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30