Spring Boot 2.0.0 참조 매 뉴 얼중국어 버 전Part II_11-12

글 쓴 이: Tyan 블 로그: noahsnail. com |  CSDN  | 
11. 첫 번 째 Spring Boot 애플 리 케 이 션 개발
우 리 는 자바 로 간단 한 웹 애플 리 케 이 션 'Hello World!' 를 개발 하여 응용 을 통 해 Spring Boot 의 관건 적 인 특성 을 강조 합 니 다.대부분의 IDE 가 Maven 을 지원 하기 때문에 우 리 는 Maven 으로 이 프로젝트 를 구축 합 니 다.
spring. io 사이트 에는 Spring Boot 를 사용 하 는 'Getting Started' 안내 가 많이 있다.만약 당신 이 특정한 문 제 를 해결 하려 고 한다 면,일단 홈 페이지 에 가 봐.
start. spring. io 에 가서 의존 검색 기 에서 web 실행 기 를 선택 하여 다음 절 차 를 간소화 할 수 있 습 니 다.이것 은 자동 으로 새로운 공정 구 조 를 만 들 수 있 기 때문에 정확 한 방식 으로 인 코딩 을 시작 할 수 있 습 니 다.더 자세 한 내용 은 문 서 를 보십시오.
$ java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
$ mvn -v
Apache Maven 3.2.3 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T13:58:10-07:00)
Maven home: /Users/user/tools/apache-maven-3.1.1
Java version: 1.7.0_51, vendor: Oracle Corporation

이 예 는 자신의 폴 더 를 만들어 야 합 니 다.다음 소 개 는 적당 한 폴 더 를 만 들 었 고 폴 더 가 현재 디 렉 터 리 라 고 가정 합 니 다.
11.1 POM 파일 만 들 기
우 리 는 우선 Maven 의 pom.xml 파일 을 만들어 야 한다.pom.xml 는 프로젝트 를 구축 하 는 처방 이다.가장 좋아 하 는 텍스트 편집 기 를 열 고 다음 내용 을 추가 하 십시오:


    4.0.0

    com.example
    myproject
    0.0.1-SNAPSHOT

    
        org.springframework.boot
        spring-boot-starter-parent
        2.0.0.BUILD-SNAPSHOT
    

    

    
    
        
            spring-snapshots
            http://repo.spring.io/snapshot
            true
        
        
            spring-milestones
            http://repo.spring.io/milestone
        
    
    
        
            spring-snapshots
            http://repo.spring.io/snapshot
        
        
            spring-milestones
            http://repo.spring.io/milestone
        
    


11.2 classpath 의존 추가
Spring Boot 는 classpath 에 jar 패 키 지 를 추가 할 수 있 도록 많은 "Starters" 를 제공 합 니 다.우리 의 예 프로그램 은 이미 POM parent 부분 에서 사용 되 었 다 spring-boot-starter-parent.spring-boot-starter-parent 특별한 시동기 로 유용 한 Maven 기본 설정 을 제공 할 수 있 습 니 다.관리 에 의존 하 는 부분 도 제공 하기 때문에 'bless' 의존 에 대해 버 전 탭 을 무시 할 수 있 습 니 다.
특정한 애플 리 케 이 션 을 개발 할 때 다른 'Starters' 는 당신 이 필요 로 할 수 있 는 의존 도 를 간단하게 제공 합 니 다.웹 애플 리 케 이 션 을 개발 하고 있 기 때문에 spring-boot-starter-web 의존 도 를 추가 할 것 입 니 다. 하지만 그 전에 현재 무엇이 있 는 지 살 펴 보 겠 습 니 다.
$ mvn dependency:tree

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

11.3 코드 쓰기
우리 의 응용 을 완성 하기 위해 서, 우 리 는 간단 한 자바 파일 을 만들어 야 한다.Maven 은 기본적으로 src/main/java 에서 원본 코드 를 컴 파일 합 니 다. 따라서 파일 구 조 를 만 든 다음 src/main/java/Example.java 이라는 파일 을 추가 해 야 합 니 다.
import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;

@RestController
@EnableAutoConfiguration
public class Example {

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

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

}

비록 이곳 에는 코드 가 그리 많 지 않 지만, 많은 것 이 진행 중이 다.우 리 는 이 중요 한 부분 들 을 한 걸음 한 걸음 훑 어 봅 시다.
11.3.1 @ RestController 와 @ RequestMapping 주석Example 류 중의 첫 번 째 주 해 는 @RestController 이다.이것 은 패턴 화 된 주해 다.코드 를 읽 는 사람 에 게 스프링 에 게 는 특정한 임무 가 있다 는 암 시 를 제공 합 니 다.이 예 에서 우리 의 종 류 는 웹 @Controller 입 니 다. 웹 요청 이 왔 을 때 Spring 은 그것 으로 처리 하 는 것 을 고려 합 니 다.@RequestMapping 주 해 는 '경로' 정 보 를 제공 합 니 다.이것 은 Spring 에 경로 가 있 는 모든 HTTP 요청 이 home 방법 에 반영 되 어야 한다 고 알려 줍 니 다.@RestController 주 해 는 Spring 에 게 결 과 를 문자열 형식 으로 과장 하고 호출 자 에 게 직접 되 돌려 달라 고 알려 줍 니 다.@RestController@RequestMapping 는 Spring MVC 주해 이다.더 자세 한 사항 은 Spring 참고 문서 의 MVC 부분 을 보십시오.
11.3.2 @ EnableAutoConfiguration 주석
두 번 째 클래스 의 주 해 는 @EnableAutoConfiguration 이다.이 주 해 는 Spring Boot 가 추 가 된 jar 의존 을 바탕 으로 Spring 을 어떻게 설정 하고 싶 은 지 알려 줍 니 다.spring-boot-starter-web Tomcat 과 Spring MVC 가 추가 되 었 기 때문에 자동 설정 은 웹 애플 리 케 이 션 을 개발 하고 있 고 해당 하 는 설정 Spring 을 가정 합 니 다.
시동 및 자동화 설정
자동 설정 은 '시동 기' 와 함께 일 할 수 있 도록 설계 되 었 으 나 이 두 개념 은 직접적인 연관 이 없다.실행 기 이외 의 jar 의존 도 를 자 유 롭 게 선택 할 수 있 습 니 다. Spring Boot 는 응용 프로그램 을 최대한 자동 으로 설정 합 니 다.
11.3.3 The “main” method
프로그램의 마지막 부분 은 main 방법 이다.이것 은 자바 응용 프로그램의 입구 규범 에 부합 되 는 표준 방법 이다.main 방법 에서 Spring Boot 의 SpringApplication 클래스 호출 run 방법 을 위탁 합 니 다.SpringApplication 애플 리 케 이 션 이 Spring 을 시작 하도록 유도 하고, Spring 은 자동 으로 설 정 된 Tomcat 웹 서버 를 시작 합 니 다.우 리 는 Example.class 을 매개 변수 로 run 에 전달 하 는 방법 으로 SpringApplication 그것 이 주요 한 Spring 구성 요소 라 고 알려 야 한다.args 배열 은 모든 명령 행 인 자 를 run 방법 에 전달 합 니 다.
11.4 이 예 를 실행 합 니 다.
이때 우리 의 응용 은 일 을 해 야 한다.우리 가 spring-boot-starter-parent POM 을 사 용 했 으 니 유용 한 run 목 표를 가지 고 있 습 니 다. 우 리 는 그것 을 사용 하여 응용 을 시작 합 니 다.프로젝트 의 루트 디 렉 터 리 에 mvn spring-boot:run 를 입력 하여 응용 을 시작 합 니 다.
$ mvn spring-boot:run

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

웹 브 라 우 저 를 열 고 입력 localhost:8080 하면 아래 출력 을 볼 수 있 을 것 입 니 다.
Hello World!

클릭 ctrl-c 하여 응용 프로그램 을 종료 할 수 있 습 니 다.
11.5 실행 가능 한 jar 만 들 기
제품 에서 실행 할 수 있 는 완전한 jar 파일 을 만 드 는 것 을 통 해 예 를 끝 냅 니 다.실행 가능 한 jars (때로는 "fat jars" 라 고도 함) 는 컴 파일 된 클래스 와 코드 실행 에 필요 한 모든 jar 의존 파일 입 니 다.
jars 와 자바 실행 가능
자바 에 서 는 끼 워 넣 은 jar 파일 을 불 러 오 는 표준 방법 을 제공 하지 않 았 습 니 다 (예 를 들 어 jar 파일 자체 가 하나의 jar 에 포함 되 어 있 습 니 다).포 함 된 애플 리 케 이 션 을 나 눠 주 고 싶다 면 문제 가 될 수 있 습 니 다.
이 문 제 를 해결 하기 위해 많은 개발 자 들 이 "uber" jars 를 사용 합 니 다.uber jar 는 모든 jars 의 모든 종 류 를 하나의 압축 파일 에 간단하게 포장 합 니 다.이 방법의 문 제 는 응용 프로그램 이 사용 하고 있 는 라 이브 러 리 를 보기 어렵 다 는 것 이다.여러 jars 가 같은 파일 이름 (다른 내용) 을 사용 했다 면 문제 입 니 다.
Spring Boot 는 이 문 제 를 다른 방법 으로 처리 하여 진정 으로 jars 를 직접 내장 할 수 있 도록 합 니 다.
실행 가능 한 jar 를 만 들 기 위해 서 는 spring-boot-maven-pluginpom.xml 에 추가 해 야 합 니 다.dependencies 부분 아래 에 다음 과 같은 내용 을 삽입 합 니 다.

    
        
            org.springframework.boot
            spring-boot-maven-plugin
        
    

spring-boot-starter-parent POM 은 바 인 딩 repackage 대상 의 설정 을 포함 합 니 다.부모 POM 을 사용 하지 않 았 다 면 이 설정 을 스스로 밝 혀 야 합 니 다.더 자세 한 내용 은 플러그 인 문 서 를 보십시오.pom.xml 을 저장 하고 명령 행 에서 실행 mvn 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.0.0.BUILD-SNAPSHOT:repackage (default) @ myproject ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------

목록 target 을 보면 myproject-0.0.1-SNAPSHOT.jar 을 볼 수 있 을 것 이다.이 파일 의 크기 는 10Mb 정도 일 것 이다.만약 당신 이 안의 내용 을 보고 싶다 면, 당신 은 사용 할 수 있 습 니 다: jar tvf
$ jar tvf target/myproject-0.0.1-SNAPSHOT.jar
target 디 렉 터 리 에서 도 더 작은 이름 myproject-0.0.1-SNAPSHOT.jar.original 의 파일 을 볼 수 있 을 것 이다.Spring Boot repackage 이전에 Maven 이 만 든 최초의 jar 파일 입 니 다.
이 프로그램 을 실행 하기 위해 서 java -jar 명령 을 사용 해 야 합 니 다:
$ java -jar target/myproject-0.0.1-SNAPSHOT.jar

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

앞에서 처럼 클릭 ctrl-c 을 통 해 앱 을 종료 합 니 다.
12. 다음은 무엇 을 읽 을 까
이 부분 이 당신 에 게 Spring Boot 의 기본 지식 을 제공 하여 자신의 응용 프로그램 을 쓰 게 해 주 기 를 바 랍 니 다.만약 당신 이 임 무 를 대상 으로 하 는 개발 자 라면 spring. io 로 뛰 어 들 고 싶 을 수도 있 습 니 다. getting started 매 뉴 얼 을 찾 아 특정한 'Spring 로 어떻게 하 는 지' 문 제 를 해결 하고 싶 을 수도 있 습 니 다.저희 도 Spring Boot 의 How - to 참고 문 서 를 제공 합 니 다.
Spring Boot reposcory 도 실행 할 수 있 는 예 가 있 습 니 다.예 는 다른 코드 에 독립 된 것 입 니 다. (예 를 실행 하거나 사용 할 때 다른 내용 을 구축 할 필요 가 없습니다.)
이 밖 에 논리 적 으로 세 번 째 부분 을 읽 고 'Spring Boot 사용' 을 한다.만약 당신 이 정말 귀 찮 게 한다 면, 당신 도 이 부분 을 뛰 어 넘 고, Spring Boot 의 특성 을 직접 읽 으 세 요.

좋은 웹페이지 즐겨찾기