woniper

spring boot-1(특징과 기본 설정) 본문

Spring

spring boot-1(특징과 기본 설정)

woniper1 2014. 10. 25. 14:05

[spring] spring boot-2(프로젝트 구조와 Tomcat 연동 및 proerties사용)
[spring] spring boot-3(JPA 설정과 사용)
[spring] spring boot-4(Velocity 설정과 사용)


Spring Boot 특징

  • war파일을 사용하지 않고 embed tomcat 또는 jetty 사용가능
  • Spring Boot에서 지원하는 stater POM으로 Maven을 간단하게 사용
  • Spring에 수많은 설정을 자동으로 설정(xml설정이 필요 없음), autoconfigure

Spring Boot 시작하기

1. pom.xml

    org.springframework.boot
    spring-boot-starter-parent
    1.1.8.RELEASE


    
        org.springframework.boot
        spring-boot-starter-web
    

2. 기본 설정

  Spring은 설정이 꾀나 복잡하고 이해하기 어렵다. xml과 javaConfig를 사용해 설정이 가능하지만 SpringBoot에서는 자동 설정을 지원하기 때문에 간단하게 설정해 사용하기 편리하다. 물론 어떻게 동작하는지 이해는 해야겠지만 처음 Spring 사용에 문턱이 낮아진 느낌이랄까?

아래 @EnableAutoConfiguration 애노테이션이 바로 마법에 애노테이션으로 불리는 자동 설정을 해주는 놈이다.

import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @ComponentScan @EnableAutoConfiguration public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }

3. Controller

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/")
public class MainController {

    @RequestMapping
    public @ResponseBody String index() {
        return "Hello Woniper Spring Boot~";
    }
}

간단하게 http 요청을 날려보기 위한 Controller를 작성해보자.

Controller소스 까지 작성했다면 프로젝트를 시작하고 http://localhost:8080/ 으로 접속해보자.


Starter POMs

  Spring Boot에서 지원하는 Starter POMs는 Boot에서 미리 정의된 maven dependency이다. 

참고 : http://docs.spring.io/spring-boot/docs/current/reference/html/using-boot-build-systems.html#using-boot-maven

모든 dependency는 spring-boot-starter-*로 정의돼 있다.



'Spring' 카테고리의 다른 글

spring boot-4(Velocity 설정과 사용)  (0) 2014.10.25
spring boot-3(JPA 설정 및 사용)  (12) 2014.10.25
spring boot-2(프로젝트 구조와 Tomcat 연동 및 proerties사용)  (7) 2014.10.25
HATEOAS 사용하기  (1) 2014.07.27
이메일 전송  (0) 2014.07.13
Comments