💡 시스템 환경
OS : window 10, 11
스프링 부트(ver 3.2.8)
JDK(ver 21, 아마존 JDK corretto)
IDE(STS ver 4)







프로젝트 생성 시 확인 되는 오류 및 경고 사항(sts)
1. 프로젝트 빌드 경로 수정 (JRE 설정 오류 확인) 프로젝트 'bank'에 마우스 오른쪽 버튼을 클릭하고 'Properties'를 선택합니다. 왼쪽 메뉴에서 'Java Build Path'를 선택한 다음, 상단의 'Libraries' 탭으로 이동합니다. 'JRE System Library'를 찾아 선택하고, 'Edit...'를 클릭합니다. 새로 추가한 JDK 21을 선택하거나, 'Workspace default JRE' (앞서 추가한 JDK 21이 기본 JRE로 설정되었다면)를 선택합니다. 'Finish'를 클릭하고, 변경 사항을 적용하기 위해 'OK'를 클릭합니다.
2. 프로젝트 생성시 인코딩 경고(UTF-8) 프로젝트에 명시적인 문자 인코딩을 설정함으로써, 프로젝트의 모든 파일이 일관된 방식으로 인코딩되도록 할 수 있습니다.
프로젝트 설정 변경
● STS에서 'bank' 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 'Properties'를 선택합니다.
● 왼쪽 메뉴에서 'Resource'를 선택합니다.
● 'Text file encoding' 섹션을 찾습니다.
● 기본 설정인 'Default'에서 'Other'를 선택하고, 드롭다운 메뉴에서 'UTF-8'을 선택합니다.
● 'Apply and Close' 버튼을 클릭하여 변경사항을 적용합니다.
STS4-4.21.1버전(JDK 21 사용시 4.21.1 버전 이상 이어야 함), 아마존 JDK 21버전
STS 기본 환경 설정 (ex.UTF-8)
💡 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를 통한 데이터베이스 접근 방법을 탐구하는 것을 목표로 합니다.
dependencies {
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'
}
mybatis 버전 3.x.x 이상 이어야 정상 동작 합니다.
https://mybatis.org/mybatis-3/ko/index.html
mybatis – 마이바티스 3 | 소개
마이바티스는 무엇인가? 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와
mybatis.org
호환 버전 확인
https://mybatis.org/spring-boot-starter/mybatis-spring-boot-autoconfigure/index.html
mybatis-spring-boot-autoconfigure – Introduction
Introduction Translations Users can read about MyBatis-Spring-Boot-Starter in the following translations: What is MyBatis-Spring-Boot-Starter? The MyBatis-Spring-Boot-Starter help you build quickly MyBatis applications on top of the Spring Boot. By using t
mybatis.org
JSP를 사용하기 위한 의존성 추가
// 의존성 추가
implementation 'org.apache.tomcat.embed:tomcat-embed-jasper'
// implementation 'javax.servlet:jstl' spring 3.x.x 버전에서 사용 안됨
implementation group: 'org.glassfish.web', name: 'jakarta.servlet.jsp.jstl', version: '3.0.0'
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 페이지의 개발을 더욱 편리하게 만들어줍니다.
'Spring boot > Bank App 만들기' 카테고리의 다른 글
6. 모델링 (0) | 2024.08.16 |
---|---|
5. 코딩 컨벤션 (0) | 2024.08.16 |
4. 패키지 설정 (0) | 2024.08.16 |
3. 디자인 시안 확인 (0) | 2024.08.16 |
2. yml 파일 설정하기 (0) | 2024.08.12 |