본문으로 바로가기

Spring Boot 란?

  • Spring Boot는 Spring의 환경설정을 쉽게할 수 있도록 도와주기 때문에 독립적이고, 상용화 수준의 스프링 기반의 어플리케이션을 만드는것을 쉽게 만들어준다.

  • Spring Boot를 이용해 실행가능한 .jar 파일과 .war 파일을 만들 수 있다.

시스템 요구사항(Spring Boot 2.3.0.RELEASE 기준)

  • Java8~Java14

  • Spring Framework 5.2.6.RELEASE 이상

  • Maven 3.3+

  • Tomcat 9.0 (Servlet Ver. 4.0)

Spring Boot 설치 및 샘플 어플리케이션 만들기(Maven Installation)

1. Java 프로젝트 만들기

2. Maven pom.xml 설정하기

Spring Boot의 dependency 들은 org.springframework.boot 를 그룹아이디로 사용한다.

보통 Maven pom.xml은 spring-boot-starter-parent 프로젝트를 상속받는다.

그리고 필요한 dependency들을 선언한다.

<!--예시-->
<?xml version="1.0" encoding="UTF-8"?> 
<project xmlns="http://maven.apache.org/POM/4.0.0" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"     
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
	https://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>
    
    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>
      
    <parent>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-parent</artifactId>
      <version>2.3.0.RELEASE</version>
    </parent>
	<!-- Additional lines to be added here... -->
  <dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>
  
  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>
</project>

 

3. src/main/java 에 class 만들고 샘플 코드 작성

import org.springframework.boot.*; 
import org.springframework.boot.autoconfigure.*; 
import org.springframework.web.bind.annotation.*;

@RestController 
@EnableAutoConfiguration 
public class Example {
	@RequestMapping("/")     
	String home() {         
		return "Hello World!";     
	}
    
	public static void main(String[] args) {         
		SpringApplication.run(Example.class, args);    
	}
}

@RestController (스프링 애노테이션): 해당 클래스가 컨트롤러라고 스프링한테 알려주는 애노테이션 @RequestMapping (스프링 애노테이션): HTTP 요청 라우팅 애노테이션

@EnableAutoConfiguration (스프링 부트 애노테이션): 스프링 부트의 기본 설정을 적용하도록 명시하는 애노테이션으로, 그 매커니즘 중 하나로 프로젝트의 의존성에 따라 특정한 기본 설정 파일이 적용이 됩니다.

 

4. 실행 해보기

(1) 이클립스에서 java application run으로 실행

(2) CMD에서 해당 프로젝트 경로로 이동 후 

$ mvn spring-boot:run

명령어를 입력해 실행.

(어플리케이션을 정상적으로 종료하려면 ctrl-c)

 

어플리케이션 실행 후 인터넷 브라우저에 localhost:포트번호 입력후 'hello world' 라는 단어가 뜨는지 확인한다.

 

 

Spring Boot 샘플 어플리케이션 jar 파일로 얻기

실행가능한 .jar 파일로 얻기위해서는 아래의 플러그인이 pom.xml의 dependencies 아래에 코드를 추가해준다.

  <build>
    <plugins>
      <plugin>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-maven-plugin</artifactId>
      </plugin>
    </plugins>
  </build>

그리고 (1)번과 (2)번 중 편한 방법을 선택해서 수행하기

(1) CMD에서 패키징하고 싶은 프로젝트 디렉토리로 이동 후 명령어 입력

$ mvn package
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.3.0.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

(2) IDE에서 export 하기