[Spring] Spring Boot - 이클립스 Spring Boot 설치
Spring Boot란?
스프링 프레임워크를 이용해 개발을 하려면 톰캣 설치를 시작으로 xml 설정 파일 등 여러 가지 복잡한 설정을 해주어야 하는데,
어노테이션 기능이 강화되면서 점차 웹 애플리케이션도 일반 응용 프로그램을 개발하는 방식으로 바뀌고 있다.
그리고 이것을 가능하게 해준 것이 바로 스프링 부트!
Spring Boot의 특징
- 일반적인 응용 프로그램을 단독으로 실행하는 수준으로 스프링 애플리케이션 구현 가능
- 프로젝트 환경 구축 시 필요한 Tomcat, Jetty, Undertow 같은 서버 외적인 툴이 내장되어 있어 별도의 설치가 필요하지 않음 (톰캣 내장)
- XML 기반 설정이나 코드 없이 환경 설정을 자동화
- 의존성 관리의 자동화 (기본 설정이 되어있는 starter 컴포넌트 제공)
이클립스 Spring Boot 설치 및 설정
1. Marketplace에서 STS(Spring Tools 4) 플러그인 설치
만약 마켓에 STS가 없다면 Install New Software 클릭 후
https://dist.springsource.com/snapshot/TOOLS/nightly/e4.20 추가하여 수동 설치
2. 스프링 부트 프로젝트 생성
3. src/main/resources - application.properties 파일 설정 (프로젝트 전체와 관련된 기능 설정)
Oracle 사용 시
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.jdbc-url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=username
spring.datasource.password=password
server.servlet.encoding.charset=utf-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.port=8090
MySQL 사용 시
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://localhost:3306/SchemaName
spring.datasource.username=username
spring.datasource.password=password
server.servlet.encoding.charset=utf-8
server.servlet.encoding.enabled=true
server.servlet.encoding.force=true
server.port=8090
4. pom.xml 파일 설정
4-1. <dependencies> 내부에 의존성 주입
<!-- TOMCAT -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- JSP -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- JSTL -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
4-2. Maven Configuration Problem 발생 시 <properties> 내부에 아래 코드 추가
<!-- Maven Configuration Problem 해결 -->
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
5. 스프링 부트 프로젝트 생성 시 자동으로 만들어지는 main 함수
스프링 부트 프로젝트는 main 함수를 시작점으로 실행되기 때문에 반드시 .java가 있어야 한다.
이유는 스프링 부트의 웹 애플리케이션을 일반 자바 애플리케이션처럼 개발하기 위함이다.
또한 ServletInitializer.java 파일에 생성된 ServletInitializer 클래스는 SpringBootServletInitializer 클래스를 상속받는데,
SpringBootServletInitializer의 역할은 스프링 부트 애플리케이션을 web.xml 없이 톰캣에서 실행하게 해준다.