2018-5-12 TIL SpringBoot

스프링부트 - (1)

  • 스프링부트 : 스프링기반의 애플리케이션을 만들기 쉽게 도와준다. 스프링을 사용을 하는 방법이 굉장히 많은데, 부트는 스프링을 최소한의 노력으로 애플리케이션을 만들 수 있게 도와준다.

java -jar을 이용해서 쉽게 실행을 할 수 있다. -jar파일로 배포를 하는것이 굉장히 큰 장점이다.

스프링부트의 4가지 목표 골?

  1. 빨리 설정을 할 수 있다.
  2. 프레임웍보다는 프로덕트를 지원하는 기능이 많다.
  3. 로컬에서 소용을 하는 기술이 아니다.
  • 요구사항 : 부트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를 사용을 하면 위의 문제를 해결 할 수 있다.

프로젝트 생성

  1. maven설정
  2. 기본적인 pom.xml파일이 생성

Spring Boot CLI는 pass, *.CLI 관련은 다 패스한다.

간단한 앱 만들기

  1. 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