2018-5-12 TIL SpringBoot
스프링부트 - (1)
- 스프링부트 : 스프링기반의 애플리케이션을 만들기 쉽게 도와준다. 스프링을 사용을 하는 방법이 굉장히 많은데, 부트는 스프링을 최소한의 노력으로 애플리케이션을 만들 수 있게 도와준다.
java -jar을 이용해서 쉽게 실행을 할 수 있다. -jar파일로 배포를 하는것이 굉장히 큰 장점이다.
스프링부트의 4가지 목표 골?
- 빨리 설정을 할 수 있다.
- 프레임웍보다는 프로덕트를 지원하는 기능이 많다.
- 로컬에서 소용을 하는 기술이 아니다.
- 요구사항 : 부트2.0은 자바8,9를 요구, 메이븐3.2 또는 그레들4를 요구
- 스프링부트는 자바의 라이브러리이다. spring-boot-*.jar을 추가를 하면 된다. 아무런 IDE나 editor를 사용을 하면 된다.
maven install
- brew install maven : 스프링부트는 아파치메이븐3.2이상과 호환을 한다.
-
sudo apt-get install maven
- 스프링부트 디펜던시에서는 : org.springframework.boot를 groupId로 사용을 한다.POM file에서는 spring-boot-starter-parent
<!-- Inherit defaults from Spring Boot -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.2.RELEASE</version>
</parent>
<!-- Add typical dependencies for a web application -->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
- spring-boot-starter-parent는 굉장히 편하다. 하지만 모든경우에 맞지는 않을 것이다. 메이븐이 멀티프로젝트가 안되려면 parent를 사용을 해야한다.
- dependenciesmanagement를 사용을 하면 위의 문제를 해결 할 수 있다.
프로젝트 생성
- maven설정
- 기본적인 pom.xml파일이 생성
Spring Boot CLI는 pass, *.CLI 관련은 다 패스한다.
간단한 앱 만들기
- pom파일을 추가하기, 여기서 의존성을 추가해야한다.
- 위와 같은 dependency들이 들어온다.
- mvn package 를 실행을 한다.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@EnableAutoConfiguration
public class Example {
@RequestMapping("/")
String home() {
return "hello world";
}
public static void main(String[] args) {
SpringApplication.run(Example.class, args);
}
}
- RestController : stereotype어노테이션이다. 마킹을 하는 역할을 한다.
- 스프링이 컨트롤러로 취급을 하게끔 한다. 이것이 중요.
- @RequestMapping 어노테이션은 경로에 대한 정보를 제공해준다. url에 / 요청이 오면 home메소드로 메핑을 해준다.
- @RestController annotation tells Spring to render the resulting string directly back to the caller.
The @RestController and @RequestMapping annotations are Spring MVC annotations. (They are not specific to Spring Boot.) See the MVC section in the Spring Reference Documentation for more details.
-@EnableAutoConfiguration : 스프링부트에서 제공을 해주는 어노테이션이다. 어떠한 설정을 원하는지 가르쳐주는 어노테이션이다. 기본설정파일을 쓰라고 해준다.
Written on May 12, 2018