💡 Bank App 프로젝트의 목표
- Spring Boot 프레임워크 기반: Spring Boot의 기본 동작 원리를 이해하고 활용한다. 이를 통해, 개발자는 Spring Boot를 사용하여 빠르고 효율적으로 어플리케이션을 구축할 수 있다.
- MVC 패턴 구현: JSP(JavaServer Pages) 템플릿 엔진을 사용하여 MVC(Model-View-Controller) 패턴을 구현한다. MVC 패턴을 통해 어플리케이션의 구조를 명확하게 분리함으로써, 유지보수성과 확장성이 향상된다.
- 비즈니스 로직 생성: 프로젝트 내에서 필요한 비즈니스 로직을 설계하고 구현한다. 이 과정에서 Spring Boot의 다양한 기능을 활용하여, 요구 사항을 충족하는 비즈니스 로직을 개발한다.
- DB 접근 기술 활용: 마이바티스(MyBatis)를 사용하여 데이터베이스 접근 기술을 학습하고 적용한다. MyBatis를 활용함으로써, SQL 쿼리를 보다 쉽게 작성하고 관리할 수 있으며, 데이터베이스와의 상호작용을 효율적으로 처리한다.
이 프로젝트는 Spring Boot와 JSP를 사용하여 MVC 패턴을 구현하고, 비즈니스 로직을 생성하는 동시에, MyBatis를 통한 데이터베이스 접근 방법을 탐구하는 것을 목표로 한다.
시스템 환경
OS : window 10, 11
스프링 부트(ver 3.2.8)
JDK(ver 21, 아마존 JDK corretto)
IDE(STS ver 4)
프로젝트 생성 및 JSP를 사용하기 위한 의존성 추가
dependencies {
// 의존성 추가
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '3.0.0'
// TODO - tools xml 파일 error check
providedCompile 'javax.servlet:javax.servlet-api:3.1.0'
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3'
compileOnly 'org.projectlombok:lombok'
developmentOnly 'org.springframework.boot:spring-boot-devtools'
runtimeOnly 'com.h2database:h2'
runtimeOnly 'com.mysql:mysql-connector-j'
annotationProcessor 'org.projectlombok:lombok'
providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.mybatis.spring.boot:mybatis-spring-boot-starter-test:3.0.3'
testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
}
Spring Boot는 임베디드 서버 환경에서 JSP를 사용하는 것을 기본적으로 지원하지 않는다. Spring Boot는 주로 Thymeleaf, FreeMarker와 같은 다른 템플릿 엔진을 사용하는 것을 권장한다. 그러나 여전히 JSP를 사용하고 싶다면, 몇 가지 추가적인 설정과 의존성을 프로젝트에 포함시켜야 한다.
의존성 설명
- org.springframework.boot:spring-boot-starter-web: Spring Boot 웹 애플리케이션 개발을 위한 스타터 패키지이다. 이는 Spring MVC와 함께 임베디드 Tomcat 서버를 포함하며, RESTful 애플리케이션을 쉽게 구축할 수 있도록 지원한다.
- org.mybatis.spring.boot:mybatis-spring-boot-starter:3.0.3: MyBatis를 Spring Boot와 함께 사용하기 위한 스타터이다. 이를 통해 MyBatis와 데이터베이스 연동 작업을 손쉽게 설정하고 진행할 수 있다.
- org.projectlombok:lombok: Java 프로젝트에서 보일러플레이트 코드를 줄이기 위한 라이브러리이다. 어노테이션을 사용하여 자동으로 getter, setter, toString 등의 메서드를 생성해 준다.
- org.springframework.boot:spring-boot-devtools: 개발 중에 유용한 여러 기능을 제공하는 Spring Boot의 추가 도구이다. 예를 들어, 자동 리스타트 기능이 있어 파일 변경 시 애플리케이션을 자동으로 재시작해 준다.
- com.h2database:h2: 인메모리 데이터베이스로, 개발 및 테스트 목적으로 주로 사용된다. 설치 없이 애플리케이션 내부에서 실행되므로 테스트 환경 구성이 용이하다.
- com.mysql:mysql-connector-j: MySQL 데이터베이스에 연결하기 위한 JDBC 드라이버이다. 이를 통해 Spring Boot 애플리케이션이 MySQL 데이터베이스와 통신할 수 있다.
- annotationProcessor 'org.projectlombok:lombok': Lombok 라이브러리가 컴파일 시점에 어노테이션을 처리할 수 있도록 지원한다.
- org.springframework.boot:spring-boot-starter-test: 테스트를 위한 스타터 패키지로, JUnit, Spring Test, Mockito 등을 포함하여 애플리케이션의 테스트를 지원한다.
- org.mybatis.spring.boot:mybatis-spring-boot-starter-test:3.0.3: MyBatis와 함께 사용할 수 있는 테스트 지원 라이브러리이다. MyBatis 기반의 리포지토리를 테스트하는 데 사용된다.
- org.apache.tomcat.embed:tomcat-embed-jasper: 이 의존성은 임베디드 Tomcat 서버에서 JSP 파일을 컴파일하기 위해 필요하다. Spring Boot가 사용하는 임베디드 서버 환경에서 JSP 파일을 정상적으로 처리하고 실행할 수 있게 해 준다.
- org.glassfish.web:jakarta.servlet.jsp.jstl:2.0.0: 이 의존성은 JSP 표준 태그 라이브러리(JSTL)를 프로젝트에 추가한다. JSTL은 JSP 페이지에서 반복문, 조건문 등의 로직을 처리하는 데 사용되는 태그들의 집합이다. org.glassfish.web 그룹에서 제공하는 jakarta.servlet.jsp.jstl 패키지는 JSP에서 사용할 수 있는 다양한 태그를 제공하여, JSP 페이지의 개발을 더욱 편리하게 만들어준다.
728x90
'Spring boot > Bank App 만들기(deployment)' 카테고리의 다른 글
Bank App 만들기 ( deployment ) - 코딩 컨벤션 ( Coding Convention ) (0) | 2024.08.05 |
---|---|
Bank App 만들기 ( deployment ) - 패키지 설정 (0) | 2024.08.05 |
Bank App 만들기 ( deployment ) - 디자인 시안 확인 (0) | 2024.08.05 |
Bank App 만들기 ( deployment ) - yml 파일 설정하기 (0) | 2024.08.05 |
Bank App 만들기 ( deployment ) - JDK 설치 (0) | 2024.08.05 |