Chapter 15내용
- 구성요소
- 서비스 구현
- 패키지 구성
간단한 웹 어플리케이션의 구성요소
DisPatcher Servlet -> | 컨트롤러 -> | 서비스 -> | DAO |
- 프론트 서블릿(Dsipatcher Servlet) : 웹 브라우저의 모든 요청을 받는 창구 역할
- 컨트롤러 : 클라이언트의 요청을 처리하기 위해 알맞은 기능 실행 및 결과 전달
- 뷰
- 서비스 : 기능의 로직
- DAO(Data access Object) : DB와 웹 애플리케이션 간에 데이터를 이동시켜 주는 역할
비밀번호 변경 기능 서비스 로직
- DB에서 비밀번호를 변경할 회원의 데이터 검색
- 존재하지 않으면 익셉션
- 회원 데이터의 비밀번호 변경
- 변경 내역을 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
'공부 > Spring' 카테고리의 다른 글
[Spring] Chapter 16 - JSON 응답과 요청 처리, Jackson gradle 의존설정, Advanced REST Client(ARC) (0) | 2021.07.23 |
---|---|
[Spring] Chapter 14 - Date 타입 변환, @PathVariable 경로 변수 처리, 익셉션 처리하기 (0) | 2021.07.17 |
[Spring] Chapter 12 - MVC 2 : 메시지, 커맨드 객체 검증 (1) | 2021.07.11 |
[Spring]Chapter 11 - 요청 매핑, 커맨드 객체, 리다이렉트, 폼 태그, 모델 (0) | 2021.07.11 |
[Spring] Chapter 9-10장 Intellij에서 스프링 MVC 시작하기(Spring+ Gradle + MVC) (3) | 2021.07.11 |