부트 개념과 활용-01.스프링 부트 시작하기


Spring Boot?

스프링 부트 공식문서
Spring Boot makes it easy to create stand-alone, production-grade Spring-based Applications that you can run. We take an opinionated view of the Spring platform and third-party libraries, so that you can get started with minimum fuss. Most Spring Boot applications need very little Spring configuration.

You can use Spring Boot to create Java applications that can be started by using java -jar or more traditional war deployments. We also provide a command line tool that runs “spring scripts”.

  • 스프링 부트는 프로덕션 (제품수준의) 스프링 기반의 애플리케이션을 만들때 빠르고 쉽게 만들 수 있게끔 도와줄 수 있습니다.
  • opinionated view : (스프링 부트가 나름대로 이게 가장 널리 쓰이는 설정이라고 정의한 설정)스프링 부트가 기본적으로 제공한다.
  • 스프링 플랫폼, 서드파티(제 3의 라이브러리) 등에 대한 설정등도 기본적으로 제공해준다.

    ex.가장 기본적으로 톰캣 8080으로 기본설정 잡아서 띄워준다.

Our primary goals are:

Provide a radically faster and widely accessible getting-started experience for all Spring development.

스프링 개발을 할때 더 빠르고, 더 폭넓은 사용성을 제공

Be opinionated out of the box but get out of the way quickly as requirements start to diverge from the defaults.

일일히 설정안해도 이미 컨벤션으로 정해져 있는 설정 제공, 하지만 이런 설정을 쉽고 빠르게 바꿀 수 있다,

Provide a range of non-functional features that are common to large classes of projects (such as embedded servers, security, metrics, health checks, and externalized configuration).

비즈니스 로직에 필요한 기능뿐 아니라, non-functional features 이러한 기능들 또한 제공해준다.

Absolutely no code generation and no requirement for XML configuration.

xml쓰지않고, 코드 제네레이션 하지 않는다.

Spring Boot 2.0.3.RELEASE requires Java 8 or 9 and Spring Framework 5.0.7.RELEASE or above. Explicit build support is provided for Maven 3.2+ and Gradle 4.

자바 8, Spring Framework 5.0.7 이상부터 지원한다.

스프링 부트 시작하기

  1. 메이븐 프로젝트 생성

  2. pom.xml ~~~xml

4.0.0 me.jaeuk spring-boot-getting-started 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-maven-plugin

3. 메인
~~~java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

    public static void main(String[] args){
        SpringApplication.run(Application.class, args);
    }
}

메인에서 실행하더라도 구동되고,
메이븐 package -> jar파일 패키징 -> jar 파일 실행 동일

스프링 프로젝트 생성기 Spring Initializr

(또 다른 스프링 부트 프로젝트 생성 방법)
https://start.spring.io/

자바, 스프링 버전, 제목 등… 설정하고 Generate Project 할 수 있다.

그 프로젝트를 그냥 열어서 사용해도 된다. 간편하게 프로젝트 생성 가능.

스프링 프로젝트 구조

메이븐 기본 프로젝트 구조와 동일

  • 소스 코드 (src\main\java)
  • 소스 리소스 (src\main\resource)
  • 테스트 코드 (src\test\java)
  • 테스트 리소스 (src\test\resource)

메인 애플리케이션 위치

  • 기본 패키지
    com
     +- example
       +- myapplication
           +- Application.java (메인/해당 패키지 및 하위패키지만 전체 컴포넌트 스캔)
           |
           +- customer
           |   +- Customer.java
           |   +- CustomerController.java
           |   +- CustomerService.java
           |   +- CustomerRepository.java
           |
           +- order
               +- Order.java
               +- OrderController.java
               +- OrderService.java
               +- OrderRepository.java
    





© 2019. by jaeuk