Spring Boot 목적: 기존 Spring 환경의 복잡한 초기 설정(XML 빈 등록 등)을 자동화하여 개발 편의성 극대화
내장 톰캣 (Embedded Tomcat): 별도의 웹 서버(Tomcat) 설정 및 연동 과정 없이, 프로그램 내부에 톰캣이 내장되어 독립적인 자바 프로그램처럼 구동
Spring Initializr: 프로젝트의 기본 골격과 의존성(Dependencies)을 자동으로 구성해 주는 초기화 도구
기존 webapp 기반 구조에서 src/main/resources 중심으로 대폭 축소 및 변경
src/main/java
자바 소스 코드 저장 폴더
루트 패키지에 메인 클래스(OOOApplication.java) 위치
클래스 상단의 @SpringBootApplication 어노테이션이 기존 컴포넌트 스캔 역할을 자동 수행
src/main/resources/templates
기존 views 폴더 역할
JSP 대신 Thymeleaf 등의 최신 템플릿 엔진 뷰 파일 보관
src/main/resources/static
기존 webapp/resources 역할
정적 자원(HTML, CSS, JavaScript, 이미지 등) 보관
application.properties (또는 .yml)
build.gradle
src/test/java
기본 지원 제외: 톰캣에 대한 의존성을 낮추기 위해 스프링 부트는 더 이상 JSP를 기본 뷰 템플릿으로 제공하지 않음 (Thymeleaf 사용 권장)
JSP 연동 방법: 굳이 JSP를 사용해야 할 경우, 내장 톰캣이 JSP를 해석할 수 있도록 build.gradle에 별도의 의존성을 추가하고 application.properties에 뷰 리졸버 설정 필요
복잡했던 DataSource, SqlSessionFactory XML 빈 등록 과정을 application.properties 파일 내 속성 정의로 대체
Properties
spring.application.name=mybatis
# JDBC 설정 (HikariCP 자동 세팅)
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521/XEPDB1
spring.datasource.username=아이디
spring.datasource.password=비밀번호
Java
@Repository
@RequiredArgsConstructor
public class AddressDao {
private final SqlSessionTemplate template;
public int count() {
return template.selectOne("address.count");
}
}