IntelliJ에서 스프링 부트 프로젝트를 생성하고, 컨트롤러를 작성해 html 페이지를 띄우는 것 까지 해보자!
0. 환경
- JDK : Oracle JDK 1.8.0_151
- IDE : IntelliJ IDEA Ultimate 2020.1.1
- Github : https://github.com/ParkIlHoon/springboot
1. 프로젝트 생성
- 인텔리제이를 실행하고, "Create New Project"를 클릭한다.
- "Spring Initializr"를 선택하고, Project SDK를 JDK 1.8로 지정한다.
- 아래 항목을 입력한다.
- Group : 프로젝트의 Artifact 그룹명을 의미하며 보통 com.xxx. 형태로 작성한다.
- Artifact : 프로젝트의 Artifact
- Type : 프로젝트 의존성?? 타입을 선택한다. Maven과 Gradle 중 선택할 수 있다.
- Language : 사용 언어를 선택한다.
- Packaging : 배포 시 어떤 방식으로 패키징 할지 선택하는 항목. JAR와 WAR 방식이 있는데, JAR 방식은 스프링 부트의 내장 톰캣을 이용하며, WAR 방식은 외부 톰캣에 배포해 서비스하는 방식이다.
- 사용할 Dependency를 선택한다. 나같은 경우에는 이 프로젝트로 Spring JPA 공부를 할 예정이기 때문에, Spring Data JPA와 Spring Data JDBC를 추가했다. 하지만 반드시 Spring Web은 꼭꼭꼭 추가해야 한다!! 이전에는 Spring Web을 추가하지 않고 시도해봤는데, 서버 구동 시 exit code 0 라며 바로 종료되는 현상이 있었다. 그 현상을 해결하기 위해서는 Spring Web Dependency를 반드시 추가해야 한다.
- Dependency 추가 후 프로젝트의 이름과 경로를 지정한다.
2. pom.xml 수정
- 필수적인 작업은 아닌데, 앞서 Spring JPA와 Spring JDBC를 추가했고 지금 당장 JPA 구현은 하지 않기 때문에 pom.xml에서 spring-boot-starter-data-jdbc와 spring-boot-starter-data-jpa는 주석처리했다.
3. SpringBootApplication 클래스 살펴보기
- 프로젝트 생성이 완료되면, src > main > java > com.ilhoon.demo 에 DemoApplication 클래스가 작성돼있을 것이다.
이 클래스를 실행해 내장 톰캣에서 스프링 부트 서비스를 구동한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
package com.ilhoon.demo;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @SpringBootApplication 이란?
* @ComponentScan, @Configuration, @EnableAutoConfiguration을 함께 사용한 것과 같음
* 해당 annotation을 설정한 클래스가 있는 package를 최상위 패키지로 인식하고 ComponentScan을 수행
*/
@SpringBootApplication
public class DemoApplication
{
/**
* SpringContext를 실행해 Application을 구동한다.
* @param args
*/
public static void main(String[] args)
{
SpringApplication.run(DemoApplication.class, args);
}
}
|
cs |
4. 구동 및 테스트
- 인텔리제이 상단의 Run 버튼을 클릭해 DemoApplication을 실행한다.
- 정상적으로 구동이 되면, 아래와 같이 로그가 쭈루루룩 뜬다.
- 그리고 http://127.0.0.1:8080으로 접속하면, 아래와 같이 페이지가 뜬다! (오류 페이지지만 상관없다.)
5. index 페이지 작성 및 테스트
- 위에서 오류가 뜬 이유는 표시할 페이지를 찾지 못했기 때문이다. 그래서 index.html 파일을 생성해 띄울 것이다.
- src/main/resources/static 폴더에는 정적 파일이 위치하는데, 해당 폴더에 index.html 파일을 생성한다.
- 다시 http://127.0.0.1:8080/index.html로 접속하면 아래처럼 작성한 페이지가 뜬다.
이렇게 스프링 부트를 이용해 index 페이지를 띄우는 것 까지 하는데 30분 정도 걸렸다. 확실히 보통 스프링보다 설정 잡는 것도 적었고 빠르게 구현이 가능한 것 같았다. 다만, 여러 스프링 설정을 제어해서 프로젝트를 진행했던 나로선 그러한 설정을 스프링 부트에서도 제어할 수 있을지 걱정도 되고 기대도 된다. 설마 되겠지.
'🌱 SPRING' 카테고리의 다른 글
[SpringCloud] Resilience4j와 Spring Cloud Circuit Breaker (0) | 2021.05.16 |
---|---|
[SpringBoot] 컨트롤러, View(JSP) 작성하기 (0) | 2020.05.30 |
@MVC : RequestMapping (0) | 2018.03.29 |
의존관계 주입(DI, Dependency Injection) (0) | 2017.11.30 |
로그인 체크 필터 (0) | 2017.09.05 |