[Spring] STS에서 스프링 부트 프로젝트 생성하기

Yechan·2020년 5월 28일
0
post-thumbnail

STS에서 스프링 부트 프로젝트를 생성할 때마다 자꾸 헷갈리는 부분들이 있어서 생성부터 간단한 환경설정까지 이번 기회에 확실히 정리해보고자 합니다.

프로젝트 생성


File - New - Spring Starter Project
Type 에서는 사용할 자원관리 툴 (Maven 혹은 Gradle) 을 선택하고 패키징 방식도 함께 선택합니다.

Next를 누르고 다음으로 넘어가면 스프링 부트 버전을 설정할 수 있고 빨간 박스에서 원하는 의존성 패키지를 검색하여 체크하면 쉽게 추가할 수 있습니다.
(해당 프로젝트에서는 MySQL과 MyBatis 프레임워크를 이용하므로 이에 필요한 패키지들을 추가적으로 선택해주었습니다.)

다음 화면에서는 마지막으로 Finish 버튼을 눌러 생성을 시작합니다.

처음 부트 프로젝트를 생성하는 경우 원격 레포지토리에서 로컬로 의존성 파일들을 모두 다운로드 받기 때문에 약간의 시간이 소요될 수 있습니다.

모든 로딩이 끝나면 아래와 같은 프로젝트 구조를 확인할 수 있습니다.


환경 설정


✔ Context root path 및 port 설정

src/main/resources 경로에 위치한 application.properties 에 아래 코드를 넣습니다.

# Web ContextRootPath and PortNumber Settings
server.servlet.context-path=/myapp
server.port=8080

그럼 이제 http://localhost:8080/myapp 를 루트 경로로 사용할 수 있습니다.

✔ JSP 사용 설정

스프링 부트 프로젝트에서는 기본적으로 JSP 컴파일을 지원하지 않기 때문에 별도로 의존성을 추가해야 합니다.

먼저 pom.xml 파일을 열어보면 다음과 같이 프로젝트 생성 시 선택했던 의존성 패키지들이 기본적으로 포함되어 있음을 확인할 수 있습니다.

1) 여기서 다음 라인들을 dependencies 태그 안에 추가해줍니다.

<!-- jsp 설정 -->
<dependency>
	<groupId>javax.servlet</groupId>
	<artifactId>jstl</artifactId>
</dependency>
<dependency>
	<groupId>org.apache.tomcat.embed</groupId>
	<artifactId>tomcat-embed-jasper</artifactId>
</dependency>

2) 아래 경로를 생성하여 jsp 파일들을 보관 합니다.

src / main / webapp / WEB-INF / views

3) application.properties 에 mvc view 속성을 추가합니다.

# JSP Path (ViewResolver)
spring.mvc.view.prefix=/WEB-INF/views/
spring.mvc.view.suffix=.jsp

✔ DataSource 및 DB (MyBatis) 설정

1) application.properties 에 다음 속성을 추가해줍니다. (driver, username, password 설정)

# DataBase
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/ssafyhrm?serverTimezone=UTC&useUniCode=yes&characterEncoding=UTF-8
spring.datasource.username=root
spring.datasource.password=root

2) pom.xml 에 다음 의존성을 추가해줍니다. (이미 있는 경우 생략)

<!-- DB 설정 -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
	<groupId>mysql</groupId>
	<artifactId>mysql-connector-java</artifactId>
	<version>8.0.13</version>
</dependency>
<dependency>
	<groupId>org.mybatis.spring.boot</groupId>
	<artifactId>mybatis-spring-boot-starter</artifactId>
	<version>1.3.0</version>
</dependency>

3) 리소스 경로 내에 config 디렉토리를 만들어 MyBatis config XML 파일을 생성하고 경로 설정을 위해 다음 한줄을 application.properties 에 넣습니다.

#mapper location settings
mybatis.config-location=classpath:config/mybatis_config.xml

그리고 SQL 쿼리를 담고 있는 XML 파일들은 마찬가지로 리소스 경로내에 mapper 디렉토리를 만들어서 그 안에 보관합니다.


정리


프로젝트의 기능이나 성격에 따라 더 필요한 과정이 있을 수 있으며 진행 방식은 개발자 취향에 맞게 얼마든지 편한대로 맞춰나가면 될 것 같습니다.

다만 부트 프로젝트를 생성하면서 기존 스프링 레거시 MVC 프로젝트를 생성하고 설정하는 것에 비해 많은 부분들이 간소화되었고 자동화 되었음을 확실히 알 수 있었습니다. 👍

profile
느리지만 꾸준히

0개의 댓글