1. Spring Boot 란?
// ps ) spring framework란 우리나라에서 국가 표준이므로 대부분의 자바 프로젝트에서 채택하는 명실상부한 1위 프레임웍이다.
(1) 스프링 프레임웍을 사용하는 프로젝트를 아주 간편하게 setup 할 수 있는 스프링 프레임웍의 서브프로젝트다.
(2) 웹 컨테이너를 내장하고 있어 최소한의 설정으로 쉽게 웹 어플리케이션을 만들 수 있다.
(3) 스프링을 설정 거의 없이 스탠다드 얼론하게 프로그램을 만들어 주는 역할을 한다.
2. Spring Boot를 왜 사용하는 걸까?
기존의 스프링 프레임워크(Spring framework)를 이용한 개발환경 구축은 제법 많은 XML 설정파일등의 작성량을 요구했다. 그래서 잘 만들어놓은 설정파일을 복사해서 사용하거나 검색을 통해 얻은 정보를 그대로 복사해서 사용하는 경우가 다반사였는데, 실상 특별한 경우의 설정을 제외하고는 거의 항상 동일한 옵션을 가져가게 되는 것이 사실일 것이다.
그러한 부분에서 스프링 부트는 반복되는 개발환경 구축을 위한 코드작성등의 작업을 확연히 줄여주고 빠르고 쉽게 프로젝트를 작성할 수 있도록 도와준다고 할 수 있다.
> 글 발췌 : http://hyunc.tistory.com/9
// 왜 Spring Boot를 사용하는가? 에 대한 좋은 포스팅 :
2. Spring Boot Project 생성하기
2.1 IDE에서 Spring Boot 프로젝트 시작하기
(1) maven project를 생성한다. (maven이 설치되어 있지 않다면 메이븐을 먼저 설치해야 한다)
(2) 프로젝트 생성
Group Id > 기본 package명
Artifact Id > 프로젝트명
(3) pom.xml 수정
`spring-boot-starter-parent` 아티팩트를 추가해준다.
스프링 부트의 준비된 의존성 라이브러리들이 자동으로 추가된다.
스프링 부트 기반의 웹 프로젝트를 사용하기 위한 것이다.
<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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.springBoot</groupId>
<artifactId>springBoot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>springBoot</name>
<url>http://maven.apache.org</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<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>
(4) App.java 수정
package com.springBoot.springBoot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
(5) SampleController.java 작성
Maven은 기본적으로 src/main/java 에 있는 소스를 컴파일하므로 src/main/java 하위에 해당 클래스를 작성한다.
@EnableAutoConfiguration은 기본적으로 jar가 추가되면 해당설정이 자동적으로 된다. 예를 들면, spring-boot-starter-web을 추가하면 Tomcat과 Spring MVC가 자동적으로 추가되기 때문에, Spring boot는 우리가 spring web application을 개발하고, Tomcat을 사용할 것이라는 것을 알기 때문에 자동적으로 관련된 설정을 구성해준다.
Spring Boot의 SpringApplication.class의 run 메소드를 사용하여, 위의 SpringApplication이 bootstrap 된다.(Tomcat web server가 자동설정이 되어서)
package com.springBoot.springBoot;
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;
@Controller
@EnableAutoConfiguration
public class SampleController {
@RequestMapping("/")
@ResponseBody
String home() {
return "Hello World!";
}
}
(6) 프로젝트 실행
1. Java Runtime Application으로 실행하는 방법
2. Maven build 로 실행하는 방법
IDE에서 TEST를 하고 있다면 프로젝트 우클릭 > Run AS > Java Application
Maven으로 실행하고자 한다면, 위와 같이 프로젝트 우클릭 > Run As > Maven build를 클릭한다. 이때 goal 정보를 입력해주면 된다.
Goals: spring-boot:run
(7)
필자의 경우 maven build를 하였고, finish를 누르는 순간 download와 함께
내장된 톰캣에서 프로젝트를 build 하였다.
*************내장된 tomcat에서 Error를 뿜었다
java.net.BindException: Address already in use
Caused by: java.lang.IllegalStateException: Tomcat connector in failed state
포트가 이미 사용중이라기에 tomcat의 포트를 임의로 변경하였다.
springboot web의 기본 포트는 8080이기에 어디선가 충돌이 나는 것 같다.
포트를 변경하고자 application.properties를 수정한다.
application.properties는 src/main/resources 경로에 있다. 다음과 같이 입력한다.
(8) maven build 재실행
(9) http://localhost:8085/ 접속하여 결과 확인
내장된 톰캣으로……돌리기를 성공한 것 같다…=_=!
>> 이거는 #STS로 SpringBoot 웹 프로젝트 시작하기 (해봐야지…)
http://millky.com/@origoni/post/1100?language=ko_kr
'Framework > Spring' 카테고리의 다른 글
[STS] Spring ajax json 예제/ STS에서 ajax 사용하기 (0) | 2016.10.06 |
---|---|
[Spring] 스프링 파일업로드/ file upload/ 파일업로드 한글깨짐 (4) | 2016.09.28 |
[Spring] 스프링 파일 다운로드 / spring file download / 파일 다운로드 예제 (0) | 2016.08.19 |
[Spring] SpEL을 사용한 Spring Properties 사용방법 / properties 설정 (0) | 2016.08.17 |
[Spring] 스프링 파일 사이즈 에러 / 업로드 파일크기 / MaxUploadSizeExceededException (0) | 2016.08.09 |