IT/SpringBoot

스프링 부트 #2. 시작

blogood 2020. 6. 14. 17:24
반응형

2. 시작하기

스프링 부트 또는 일반적으로 "스프링"을 시작하는 경우 이 섹션을 읽는 것으로 시작합니다. 그것은 기본적인 "무엇을?", "어떻게?"와 "왜?" 질문에 대답합니다. 여기에는 스프링 부트 소개와 설치 지침이 포함되어 있습니다. 그런 다음 첫 번째 스프링 부트 응용 프로그램을 빌드하여 몇 가지 핵심 원칙을 논의합니다.

2.1. 스프링 부트 소개

스프링 부트을 사용하면 실행할 수 있는 독립형 생산 등급의 스프링 기반 애플리케이션을 쉽게 만들 수 있습니다. 우리는 봄 플랫폼과 타사 라이브러리에 대한 의견보기를 가지고 있어 최소한의 소란으로 시작할 수 있습니다. 대부분의 스프링 부트 응용 프로그램은 스프링 구성이 거의 필요하지 않습니다.

Spring Boot를 사용하여 기존 전쟁 배포 또는 보다 많은 배포를 사용하여 시작할 수 있는 Java 응용 프로그램을 만들 수 있습니다. 또한 "스프링 스크립트"를 실행하는 명령줄 도구도 제공합니다.java -jar

우리의 주요 목표는 다음과 같습니다.

  • 모든 스프링 개발을 위해 근본적으로 더 빠르고 광범위하게 접근 하기 시작 경험을 제공 합니다.
  • 상자에서 의견을 제시하지만 요구 사항이 기본값에서 분기되기 시작하면 신속하게 방해가 됩니다.
  • 포함된 서버, 보안, 메트릭, 상태 확인 및 외부화된 구성과 같은 대규모 프로젝트 클래스에서 공통적인 다양한 비기능 기능을 제공합니다.
  • 절대적으로 코드 생성이 없으며 XML 구성에 대한 요구 사항이 없습니다.

2.2. 시스템 요구 사항

스프링 부트 2.3.1.RELEASE는 Java 8이 필요하며 Java 14(포함)까지 호환됩니다. 스프링 프레임워크 5.2.7.RELEASE 이상도 필요합니다.

다음 빌드 도구에는 명시적 빌드 지원이 제공됩니다.

도구 빌드 버전

Maven

3.3+

그라들 ()

6 (6.3 이상). 5.6.x도 지원되지만 사용되지 않는 형태로

2.2.1. 서블렛 용기

스프링 부트은 다음과 같은 임베디드 서블릿 컨테이너를 지원합니다.

이름 서발판 버전

톰캣 9.0

4.0

부두 9.4

3.1

언더토우 2.0

4.0

또한 스프링 부트 응용 프로그램을 모든 Servlet 3.1+ 호환 컨테이너에 배포할 수도 있습니다.

2.3. 스프링 부트 설치

스프링 부트은 "클래식" Java 개발 도구와 함께 사용하거나 명령줄 도구로 설치할 수 있습니다. 어느 쪽이든 Java SDK v1.8 이상이 필요합니다. 시작하기 전에 다음 명령을 사용하여 현재 Java 설치를 확인해야 합니다.

$ java -version

Java 개발을 처음 사용하거나 스프링 부트을 실험하려는 경우 먼저 스프링 부트 CLI(명령줄 인터페이스)를 시도해 볼 수 있습니다. 그렇지 않으면 "클래식" 설치 지침을 읽으십시오.

2.3.1. 자바 개발자를 위한 설치 지침

모든 표준 Java 라이브러리와 동일한 방식으로 스프링 부트을 사용할 수 있습니다. 이렇게 하려면 클래스 경로에 적절한 파일을 포함합니다. Spring Boot에는 특수 도구 통합이 필요하지 않으므로 IDE 또는 텍스트 편집기도 사용할 수 있습니다. 또한 스프링 부트 응용 프로그램에 대해 특별한 것은 없으므로 다른 Java 프로그램과 마찬가지로 스프링 부트 응용 프로그램을 실행하고 디버깅 할 수 있습니다.spring-boot-*.jar

스프링 부트 항아리를 복사할 있지만 일반적으로 종속성 관리(예: 메이븐 또는 그라드)를 지원하는 빌드 도구를 사용하는 것이 좋습니다.

메이븐 설치

스프링 부트는 아파치 메이븐 3.3 이상과 호환됩니다. 아직 메이븐이 설치되어 있지 않은 경우 maven.apache.org지침을 따를 수 있습니다.

  많은 운영 체제에서 Maven은 패키지 관리자와 함께 설치할 수 있습니다. OSX 홈브루를 사용하는 경우. 우분투 사용자는 실행할 수 있습니다. 초콜릿을 가진 Windows 사용자는 높은 (관리자) 프롬프트에서 실행할 수 있습니다. brew install mavensudo apt-get install mavenchoco install maven

스프링 부트 종속성은 . 일반적으로 Maven POM 파일은 프로젝트에서 상속되고 하나 이상의 "스타터"에종속성을 선언합니다. 스프링 부트은 또한 실행 가능한 항아리를 만들 수있는 옵션 메이븐 플러그인을 제공합니다.org.springframework.bootgroupIdspring-boot-starter-parent

스프링 부트과 메이븐으로 시작에 대한 자세한 내용은 메이븐 플러그인의 참조 가이드의 시작 시작 섹션에서 찾을 수 있습니다.

그라들 설치

스프링 부트은 그라드 6(6.3 이상)과 호환됩니다. Gradle 5.6.x도 지원되지만 이 지원은 사용되지 않으며 향후 릴리스에서 제거됩니다. Gradle이 아직 설치되어 있지 않은 경우 gradle.org지침을 따를 수 있습니다.

스프링 부트 종속성을 사용하여 선언할 수 있습니다. 일반적으로 프로젝트는 하나 이상의 "스타터"에종속성을 선언합니다. 스프링 부트은 종속성 선언을 단순화하고 실행 가능한 항아리를 만드는 데 사용할 수있는 유용한 Gradle 플러그인을 제공합니다.org.springframework.bootgroup

그라들 래퍼

Gradle 래퍼는 프로젝트를 빌드해야 할 때 Gradle을 "획득"하는 좋은 방법을 제공합니다. 그것은 당신이 빌드 프로세스를 부트 스트랩 코드와 함께 커밋 작은 스크립트및 라이브러리입니다. 자세한 내용은 docs.gradle.org/current/userguide/gradle_wrapper.html 참조하십시오.

스프링 부트 및 그라슬으로 시작하는 방법에 대한 자세한 내용은 그라드 플러그인의 참조 가이드의 시작 시작 섹션에서 찾을 수 있습니다.

2.3.2. 스프링 부트 CLI 설치

스프링 부트 CLI(명령줄 인터페이스)는 스프링으로 빠르게 프로토타입을 제작하는 데 사용할 수 있는 명령줄 도구입니다. 그루비 스크립트를 실행할 수 있으므로 상용구 코드가 너무 많지 않은 익숙한 Java와 같은 구문이 있습니다.

당신은 스프링 부트과 함께 작동CLI를 사용할 필요가 없습니다, 하지만 확실히 지상에서 스프링 응용 프로그램을 얻을 수있는 가장 빠른 방법입니다.

수동 설치

스프링 소프트웨어 리포지토리에서 스프링 CLI 배포판을 다운로드할 수 있습니다.

절삭 날 스냅숏 배포도 사용할 수 있습니다.

다운로드한 후 압축되지 않은 아카이브의 INSTALL.txt 지침을 따릅니다. 요약하면 파일의 디렉토리에 스크립트(Windows용)가 있습니다. 또는 파일과 함께 사용할 수 있습니다(스크립트는 클래스 경로가 올바르게 설정되어 있는지 확인하는 데 도움이 됩니다).springspring.batbin/.zipjava -jar.jar

SDKMAN설치!

SDKMAN! (소프트웨어 개발 키트 관리자)는 그루비와 스프링 부트 CLI를 포함한 다양한 바이너리 SDK의 여러 버전을 관리하는 데 사용할 수 있습니다. SDKMAN을 얻으세요! sdkman.io 다음 명령을 사용하여 스프링 부트을 설치합니다.

$ sdk install springboot
$ spring --version
Spring Boot v2.3.1.RELEASE

CLI에 대한 기능을 개발하고 빌드한 버전에 쉽게 액세스하려면 다음 명령을 사용합니다.

$ sdk install springboot dev /path/to/spring-boot/spring-boot-cli/target/spring-boot-cli-2.3.1.RELEASE-bin/spring-2.3.1.RELEASE/
$ sdk default springboot dev
$ spring --version
Spring CLI v2.3.1.RELEASE

앞의 명령은 인스턴스라는 로컬 인스턴스를 설치합니다. 대상 빌드 위치를 가리키므로 스프링 부트을 다시 빌드할 때마다 최신 상태입니다.springdevspring

다음 명령을 실행하여 볼 수 있습니다.

$ sdk ls springboot

================================================================================
Available Springboot Versions
================================================================================
> + dev
* 2.3.1.RELEASE

================================================================================
+ - local version
* - installed
> - currently in use
================================================================================
OSX 홈브루 설치

Mac에 있고 Homebrew를사용하는 경우 다음 명령을 사용하여 스프링 부트 CLI를 설치할 수 있습니다.

$ brew tap pivotal/tap
$ brew install springboot

홈브루는 에 설치합니다.spring/usr/local/bin

  수식이 표시되지 않으면 양조 설치가 오래되었을 수 있습니다. 이 경우 실행하고 다시 시도하십시오. brew update
맥포트 설치

Mac에 있고 MacPorts를사용하는 경우 다음 명령을 사용하여 스프링 부트 CLI를 설치할 수 있습니다.

$ sudo port install spring-boot-cli
명령줄 완료

스프링 부트 CLI에는 BASHzsh 셸에 대한 명령 완료를 제공하는 스크립트가 포함되어 있습니다. 모든 셸에서 스크립트(이름도 명명)하거나 개인 또는 시스템 전체 배쉬 완료 초기화에 넣을 수 있습니다. 데비안 시스템에서시스템 전체 스크립트가 들어있고 새 셸이 시작될 때 해당 디렉터리의 모든 스크립트가 실행됩니다. 예를 들어 SDKMAN!을 사용하여 설치한 경우 스크립트를 수동으로 실행하려면 다음 명령을 사용합니다.sourcespring/shell-completion/bash

$ . ~/.sdkman/candidates/springboot/current/shell-completion/bash/spring
$ spring <HIT TAB HERE>
  grab  help  jar  run  test  version
  Homebrew 또는 MacPorts를 사용하여 스프링 부트 CLI를 설치하는 경우 명령줄 완료 스크립트가 셸에 자동으로 등록됩니다.
윈도우 특종 설치

Windows에 있고 특종을사용하는 경우 다음 명령을 사용하여 스프링 부트 CLI를 설치할 수 있습니다.

> scoop bucket add extras
> scoop install springboot

스쿱 설치는.spring~/scoop/apps/springboot/current/bin

  앱 매니페스트가 표시되지 않으면 특종을 설치하는 날짜가 오래되었을 수 있습니다. 이 경우 실행하고 다시 시도하십시오. scoop update
빠른 시작 스프링 CLI 예제

다음 웹 응용 프로그램을 사용하여 설치를 테스트할 수 있습니다. 시작하려면 다음과 같이 다음과 같이 라는 파일을 만듭니다.app.groovy

@RestController
class ThisWillActuallyRun {

    @RequestMapping("/")
    String home() {
        "Hello World!"
    }

}

그런 다음 다음과 같이 쉘에서 실행합니다.

$ spring run app.groovy
  종속성이 다운로드되기 때문에 응용 프로그램의 첫 번째 실행은 느립니다. 후속 실행은 훨씬 빠를 수 있습니다.

좋아하는 웹 브라우저에서 열립니다. 다음 출력이 표시됩니다.localhost:8080

Hello World!

2.3.3. 이전 버전의 스프링 부트에서 업그레이드

스프링 부트 릴리스에서 업그레이드하는 경우 자세한 업그레이드 지침을 제공하는 프로젝트 위키의 "마이그레이션 가이드"를 확인합니다. 또한 각 릴리스에 대한 "새롭고 주목할 만한" 기능 목록에 대한 "릴리스 노트"를 확인합니다.1.x

새 기능 릴리스로 업그레이드할 때 일부 속성의 이름이 변경되거나 제거되었을 수 있습니다. Spring Boot는 응용 프로그램의 환경을 분석하고 시작 시 진단을 인쇄하는 방법을 제공하지만 런타임에 속성을 일시적으로 마이그레이션할 수도 있습니다. 이 기능을 활성화하려면 프로젝트에 다음 종속성을 추가합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-properties-migrator</artifactId>
    <scope>runtime</scope>
</dependency>
  사용 시와 같이 환경에 늦게 추가되는 속성은 고려되지 않습니다. @PropertySource
  마이그레이션이 완료되면 프로젝트의 종속성에서 이 모듈을 제거해야 합니다.

기존 CLI 설치를 업그레이드하려면 적절한 패키지 관리자 명령(예:)을 사용합니다. CLI를 수동으로 설치한 경우 환경변수를 업데이트하여 이전 참조를 제거하라는 것을 기억하는 표준 지침을 따릅니다.brew upgradePATH

2.4. 첫 번째 스프링 부트 응용 프로그램 개발

이 섹션에서는 스프링 부트의 주요 기능 중 일부를 강조하는 간단한 "Hello World!" 웹 응용 프로그램을 개발하는 방법에 대해 설명합니다. 대부분의 ID가 이를 지원하기 때문에 Maven을 사용하여 이 프로젝트를 빌드합니다.

 

spring.io 웹 사이트에는 스프링 부트을 사용하는 많은 "시작" 가이드가 포함되어 있습니다. 특정 문제를 해결해야 하는 경우 먼저 확인하십시오.

start.spring.io 따라 검색자에서 "웹" 스타터를 선택하여 아래 단계를 바로 가을 수 있습니다. 이렇게 하면 바로 코딩을 시작할수 있도록 새 프로젝트 구조가 생성됩니다. 자세한 내용은 스프링 이니티저 설명서를 확인하십시오.

시작하기 전에 터미널을 열고 다음 명령을 실행하여 유효한 버전의 Java 및 Maven이 설치되었는지 확인합니다.

$ java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)
$ mvn -v
Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe; 2018-06-17T14:33:14-04:00)
Maven home: /usr/local/Cellar/maven/3.3.9/libexec
Java version: 1.8.0_102, vendor: Oracle Corporation
  이 샘플은 자체 디렉터리로 만들어야 합니다. 후속 지침은 적절한 디렉터리를 만들었는데 현재 디렉터리라고 가정합니다.

2.4.1. POM 만들기

우리는 메이븐 파일을 만드는 것으로 시작해야합니다. 프로젝트를 빌드하는 데 사용되는 레시피입니다. 좋아하는 텍스트 편집기를 열고 다음을 추가합니다.pom.xmlpom.xml

<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>myproject</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.1.RELEASE</version>
    </parent>

    <description/>
    <developers>
        <developer/>
    </developers>
    <licenses>
        <license/>
    </licenses>
    <scm>
        <url/>
    </scm>
    <url/>

    <!-- Additional lines to be added here... -->

</project>

이전 목록은 작업 빌드를 제공해야 합니다. 실행하여 테스트할 수 있습니다(현재로서는 "항아리가 비어 있음 - 포함으로 표시된 콘텐츠없음!" 경고를 무시할 수 있습니다.mvn package

  이 시점에서 프로젝트를 IDE로 가져올 수 있습니다(대부분의 최신 Java ID에는 Maven에 대한 기본 제공 지원이 포함됩니다). 단순성으로 는 이 예제에서 일반 텍스트 편집기를 계속 사용합니다.

2.4.2. 클래스패스 종속성 추가

스프링 부트은 클래스 경로에 항아리를 추가할 수 있는 여러 가지 "스타터"를 제공합니다. 연기 테스트에 대한 우리의 응용 프로그램은 POM의 섹션에서 사용합니다. 이 기능은 유용한 메이븐 기본값을 제공하는 특수 스타터입니다. 또한 "축복된" 종속성에 대한 태그를 생략할 수 있도록 종속성 관리 섹션을 제공합니다.spring-boot-starter-parentparentspring-boot-starter-parentversion

다른 "스타터"는 특정 유형의 응용 프로그램을 개발할 때 필요할 수 있는 종속성을 제공합니다. 웹 응용 프로그램을 개발 중이므로 종속성을 추가합니다. 그 전에는 다음 명령을 실행하여 현재 무엇을 볼 수 있습니다.spring-boot-starter-web

$ mvn dependency:tree

[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT

명령은 프로젝트 종속성의 트리 표현을 인쇄합니다. 그 자체로 종속성을 제공하지 않는 것을 볼 수 있습니다. 필요한 종속성을 추가하려면 편집하고 섹션 바로 아래에 종속성을 추가합니다.mvn dependency:treespring-boot-starter-parentpom.xmlspring-boot-starter-webparent

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

다시 실행하면 이제 Tomcat 웹 서버 및 스프링 부트 자체를 비롯한 여러 추가 종속성이 있음을 알 수 있습니다.mvn dependency:tree

2.4.3. 코드 작성

응용 프로그램을 완료하려면 단일 Java 파일을 만들어야 합니다. 기본적으로 Maven은 소스를 컴파일하므로 해당 디렉터리 구조를 만든 다음 다음 코드를 포함하도록 명명된 파일을 추가해야 합니다.src/main/javasrc/main/java/Example.java

import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

    @RequestMapping("/")
    String home() {
        return "Hello World!";
    }

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

}

여기에 많은 코드가 없지만 꽤 많이 진행되고 있습니다. 우리는 다음 몇 섹션에서 중요한 부분을 통해 단계.

@RestController 및 @RequestMapping 주석

우리 반의 첫 번째 성어는 . 이를 고정 관념으로 알려져 있습니다. 코드를 읽는 사람과 스프링의 경우 클래스가 특정 역할을 한다는 힌트를 제공합니다. 이 경우 클래스는 웹이므로 Spring은 들어오는 웹 요청을 처리할 때 이를 고려합니다.Example@RestController@Controller

이 애니메이션은 "라우팅" 정보를 제공합니다. 스프링에 경로가 있는 모든 HTTP 요청을 메서드에 매핑해야 합니다. 이 에기는 스프링에게 결과 문자열을 호출자에게 직접 렌더링하도록 지시합니다.@RequestMapping/home@RestController

  주석은 스프링 MVC 주석입니다(스프링 부트에만 국한되지 않음). 자세한 내용은 스프링 참조 설명서의 MVC 섹션을 참조하십시오. @RestController@RequestMapping
@EnableAutoConfiguration 어노션

두 번째 클래스 수준 별표는. 이 어노션은 스프링 부트에 추가한 항아리 종속성에 따라 스프링을 구성하는 방법을 "추측"하도록 지시합니다. Tomcat 및 Spring MVC를 추가한 이후 자동 구성은 웹 응용 프로그램을 개발하고 그에 따라 스프링을 설정한다고 가정합니다.@EnableAutoConfigurationspring-boot-starter-web

스타터 및 자동 구성

자동 구성은 "스타터"와 잘 작동하도록 설계되었지만 두 개념은 직접 연결되지 않습니다. 당신은 선택하고 선발 이외의 항아리 종속성을 선택할 수 있습니다. 스프링 부트은 여전히 응용 프로그램을 자동으로 구성하는 데 최선을 다하고 있습니다.

"메인" 방법

응용 프로그램의 마지막 부분은 방법입니다. 이것은 응용 프로그램 진입점에 대한 Java 규칙을 따르는 표준 방법일 뿐입니다. 우리의 주요 방법은 호출하여 스프링 부트의 클래스에 위임 . 스프링을 시작으로 자동 구성 Tomcat 웹 서버를 시작하는 응용 프로그램을 부트 스트랩합니다. 기본 Spring 구성 요소임을 알 려면 메서드에 대한 인수로 전달해야 합니다. 또한 배열을 통과하여 명령줄 인수를 노출합니다.mainSpringApplicationrunSpringApplicationExample.classrunSpringApplicationargs

2.4.4. 예제 실행

이 시점에서 응용 프로그램이 작동해야 합니다. POM을 사용했기 때문에 응용 프로그램을 시작하는 데 사용할 수 있는 유용한 목표가 있습니다. 루트 프로젝트 디렉터리에서 입력하여 응용 프로그램을 시작합니다. 다음과 유사한 출력이 표시됩니다.spring-boot-starter-parentrunmvn spring-boot:run

$ mvn spring-boot:run

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.3.1.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.222 seconds (JVM running for 6.514)

웹 브라우저를 열어 보면 다음 출력이 표시됩니다.localhost:8080

Hello World!

응용 프로그램을 우아하게 종료하려면 누릅니다.ctrl-c

2.4.5. 실행 가능한 항아리 만들기

프로덕션 환경에서 실행할 수 있는 완전히 독립적인 실행 형 항아리 파일을 만들어 모범을 완성합니다. 실행 가능한 항아리("뚱뚱한 항아리"라고도 함)는 코드가 실행해야 하는 모든 항아리 종속성과 함께 컴파일된 클래스가 포함된 아카이브입니다.

실행 가능한 항아리 및 자바

Java는 중첩된 항아리 파일(항아리 내에 포함된 jar 파일)을 로드하는 표준 방법을 제공하지 않습니다. 자급자족 응용 프로그램을 배포하려는 경우 문제가 될 수 있습니다.

이 문제를 해결하기 위해 많은 개발자가 "Uber" 항아리를 사용합니다. Uber jar은 모든 응용 프로그램의 종속성에서 모든 클래스를 단일 아카이브로 패키지로 지정합니다. 이 방법의 문제는 응용 프로그램에 있는 라이브러리를 보기 가 어려워진다는 것입니다. 동일한 파일 이름이 여러 jars에서 사용되는 경우(그러나 다른 콘텐츠)가 사용되는 경우에도 문제가 될 수 있습니다.

스프링 부트은 다른 접근 방식을 취하고 실제로 직접 항아리를 중첩 할 수 있습니다.

실행 가능한 항아리를 만들려면 에 추가해야 합니다. 이렇게 하려면 섹션 바로 아래에 다음 줄을 삽입합니다.spring-boot-maven-pluginpom.xmldependencies

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>
  POM에는 목표를 바인딩하는 구성이 포함됩니다. 상위 POM을 사용하지 않는 경우 이 구성을 직접 선언해야 합니다. 자세한 내용은 플러그인 설명서를 참조하십시오. spring-boot-starter-parent<executions>repackage

다음과 같이 저장하고 명령줄에서 실행하십시오.pom.xmlmvn package

$ mvn package

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building myproject 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] .... ..
[INFO] --- maven-jar-plugin:2.4:jar (default-jar) @ myproject ---
[INFO] Building jar: /Users/developer/example/spring-boot-example/target/myproject-0.0.1-SNAPSHOT.jar
[INFO]
[INFO] --- spring-boot-maven-plugin:2.3.1.RELEASE:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

디렉터리에서 보면 . 파일의 크기는 약 10MB여야 합니다. 내부를 들여다보려면 다음과 같이 사용할 수 있습니다.targetmyproject-0.0.1-SNAPSHOT.jarjar tvf

$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar

디렉터리에 이름이 훨씬 작은 파일도 표시해야 합니다. 이것은 메이븐이 스프링 부트에 의해 다시 포장되기 전에 만든 원래 항아리 파일입니다.myproject-0.0.1-SNAPSHOT.jar.originaltarget

해당 응용 프로그램을 실행하려면 다음과 같이 명령을 사용합니다.java -jar

$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

  .   ____          _            __ _ _
 /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
 \\/  ___)| |_)| | | | | || (_| |  ) ) ) )
  '  |____| .__|_| |_|_| |_\__, | / / / /
 =========|_|==============|___/=/_/_/_/
 :: Spring Boot ::  (v2.3.1.RELEASE)
....... . . .
....... . . . (log output here)
....... . . .
........ Started Example in 2.536 seconds (JVM running for 2.864)

 

이전과 마찬가지로 응용 프로그램을 종료하려면 누릅니다.ctrl-c

2.5. 다음에 읽어야 할 것

바라건대,이 섹션은 스프링 부트 기본의 일부를 제공하고 자신의 응용 프로그램을 작성하는 방법에 당신을 얻었다. 작업 지향적인 개발자 유형인 경우 spring.io 뛰어올라 특정 "Spring으로 어떻게 해야 합니까?" 문제를 해결하는 시작 가이드 중 일부를 확인할 수 있습니다. 우리는 또한 스프링 부트 특정"방법"참조 설명서가 있습니다.

그렇지 않으면 다음 논리적 단계는 스프링 부트을 사용하여읽는 것입니다. 당신이 정말로 참을성이 있다면, 당신은 또한 앞서 점프하고 스프링 부트 기능에 대해 읽을 수 있습니다.

 

Spring Boot Reference Documentation

Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch, Andy Wilkinson, Marcel Overdijk, Christian Dupuis, Sébastien Deleuze, Michael Simons, Vedran Pavić, Jay Bryant, Madhura Bhave, Eddú Meléndez, Scott Frederick

2.3.1.RELEASE

Copyright © 2012-2020

Copies of this document may be made for your own use and for distribution to others, provided that you do not charge any fee for such copies and further provided that each copy contains this Copyright Notice, whether distributed in print or electronically.

출처 : https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/htmlsingle/#getting-started

반응형