꿈꾸는 새벽하늘

11장. 웹 애플리케이션 제작 본문

🌿 Spring & Spring Boot/📗 자바 ORM 표준 JPA 프로그래밍

11장. 웹 애플리케이션 제작

rovemin 2023. 8. 7. 23:50

사용되는 기술

  • 뷰: JSP, JSTL
  • 웹 계층: 스프링 MVC
  • 데이터 저장 계층: JPA, 하이버네이트
  • 기반 프레임워크: 스프링 프레임워크
  • 빌드: 메이븐(Maven)

1. 프로젝트 환경설정

프로젝트 환경설정 진행 순서:

프로젝트 구조 분석 -> 메이븐과 라이브러리 설정 -> 스프링 프레임워크 설정

 

프로젝트에 필요한 라이브러리

  • 핵심 라이브러리
    • 스프링 MVC: 스프링 MVC 라이브러리
    • 스프링 ORM: 스프링 프레임워크와 JPA를 연동하기 위한 라이브러리
    • JPA, 하이버네이트: JPA. 표준과 하이버네이트를 포함하는 라이브러리
  • 기타 라이브러리
    • H2 데이터베이스
    • 커넥션 풀: tomcat-jdbc 커넥션 풀 사용
    • WEB: 서블릿, JSP 관련 라이브러리
    • 로깅 SLF4J & LogBack
    • 테스트: 테스트용 라이브러리

프로젝트 환경설정 파일: web.xml, weAppConfig.xml, appConfig.xml

web.xml

웹 애플리케이션에서 스프링 프레임워크를 구동하기 위한 설정

  • weAppConfig.xml: 스프링 MVC 설정을 포함한 웹 계층 담당
  • appConfig.xml: 비즈니스 로직, 도메인 계층, 서비스 계층, 데이터 저장 계층 담당

2. 도메인 모델과 테이블 설계

도메인 모델을 사용해서 웹 애플리케이션 개발하는 순서:

요구사항 분석 -> 도메인 모델 설계 -> 테이블 설계 -> 연관관계 정리 -> 엔티티 클래스 생성

3. 애플리케이션 구현

계층 의존관계

  • Controller: MVC의 컨트롤러가 모여 있는 곳. 컨트롤러는 서비스 계층을 호출하고 결과를 뷰(JSP)에 전달한다.
  • Service: 비즈니스 로직이 있고 트랜잭션을 시작하는 곳. 서비스 계층은 데이터 접근 계층인 리포지토리를 호출한다.
  • Repository: JPA를 직접 사용하는 곳. 엔티티 매니저를 사용해서 엔티티를 저장하고 조회한다.
  • Domain: 엔티티가 모여 있는 곳. 모든 계층에서 사용한다.

개발 시 비즈니스 로직을 수행하는 서비스와 리포지토리 계층을 먼저 개발하고 테스트 케이스를 작성해서 검증한다. 이후 검증이 완료되면 컨트롤러와 뷰를 개발한다.