본문 바로가기

공부/Spring

[Spring] Chapter 15 - 간단한 웹 어플리케이션의 구조



Chapter 15내용

  • 구성요소
  • 서비스 구현
  • 패키지 구성

 

간단한 웹 어플리케이션의 구성요소 


 

DisPatcher Servlet         ->   컨트롤러                      -> 서비스                         -> DAO                        

 

  • 프론트 서블릿(Dsipatcher Servlet) : 웹 브라우저의 모든 요청을 받는 창구 역할
  • 컨트롤러 : 클라이언트의 요청을 처리하기 위해 알맞은 기능 실행 및 결과 전달
  • 뷰 
  • 서비스 : 기능의 로직
  • DAO(Data access Object) : DB와 웹 애플리케이션 간에 데이터를 이동시켜 주는 역할

 

비밀번호 변경 기능 서비스 로직 

 

  1. DB에서 비밀번호를 변경할 회원의 데이터 검색
  2. 존재하지 않으면 익셉션
  3. 회원 데이터의 비밀번호 변경
  4. 변경 내역을 DB에 반영

 

   @Transactional //중간에 실패했으면 롤백
    public void changePassword(String email, String oldPwd, String newPwd) {
        Member member = memberDao.selectByEmail(email); //1. DB에서 비밀번호를 변경할 회원 데이터 검색
        if (member == null) //2. 존재하지 않으면 익셉션
            throw new MemberNotFoundException();
 
       member.changePassword(oldPwd, newPwd); //회원 데이터의 비밀번호 변경
 
       memberDao.update(member); //변경 내역 DB에 반영
    }
 
 
cs

 

 

컨트롤러에서의 DAO 접근

 

 :  컨트롤러에서 서비스 계층을 거치지 않고 바로 데이터 접근 계층 DAO를 사용할수도 있다.

 

패키지 구성

 

 

기능 제공 영역의 세부 패키지로 구분한다.

 

  • Service 

    - MemberRegisterService

    - RegisterRequestService

    - ChangePasswordService


  •  dao

    - memberDao


  • model

   - member

 

 

 

REFERENCE


 초보 웹 개발자를 위한 스프링 5 프로그래밍 입문(최범균)

300x250