5. 첫 번 째 Spring Boot 앱

7164 단어
자바 로 간단 한 'Hello World!' 웹 애플 리 케 이 션 을 개발 하여 Spring Boot 의 관건 적 인 특성 을 강조 합 니 다.
대부분의 IDE 가 지원 하기 때문에 Maven 을 사용 하여 이 프로젝트 를 구축 할 것 입 니 다.
시작 하기 전에 사용 가능 한 자바 버 전과 Maven 이 설치 되 어 있 는 지 확인 하 는 터미널 을 열 어야 합 니 다.
java -version
java version "1.8.0_45"
Java(TM) SE Runtime Environment (build 1.8.0_45-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
mvn -v
Apache Maven  3.5.0 (33f8c3e1027c3ddde99d3cdebad2656a31e8fdf4; 2014-08-11T13:58:10-07:00)
Maven home:  C:\Softwares\apache-maven-3.5.0\bin\..
Java version: 1.8.0_45, vendor: Oracle Corporation

1. POM 만 들 기
Maven pom. xml 파일 을 만 드 는 것 을 시작 으로 해 야 합 니 다.이 pom. xml 는 프로젝트 를 구축 하 는 처방 입 니 다.가장 좋아 하 는 텍스트 편집 기 를 열 고 다음 내용 을 추가 하 십시오.


    4.0.0

    com.example
    myproject
    0.0.1-SNAPSHOT

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

    



이것 은 실행 가능 한 구축 을 줄 것 입 니 다. 뮤 직 비디오 패키지 테스트 를 실행 할 수 있 습 니 다.
2. classpath 의존 추가
Spring Boot 는 많은 "Starter POMs" 를 제공 합 니 다. 이 는 jars 를 classpath 에 쉽게 추가 할 수 있 습 니 다.우리 의 예제 프로그램 은 이미 POM 의 partent 노드 에 spring - boot - starter - parent 를 사용 했다.spring - boot - starter - parent 는 특별한 starter 로 유용 한 Maven 기본 설정 을 제공 합 니 다.또한 dependency - management 노드 를 제공 합 니 다. 이렇게 하면 "bless" 에 대한 의존 은 version 표 시 를 생략 할 수 있 습 니 다. 다른 "Starter POMs""간단 한 의존 도 를 제공 합 니 다. 이러한 의존 도 는 특정 유형의 애플 리 케 이 션 을 개발 할 때 필요 할 수 있 습 니 다. 웹 애플 리 케 이 션 을 개발 하고 있 기 때문에 spring - boot - starter - web 의존 도 를 추가 할 것 입 니 다. 하지만 그 전에 현재 가지 고 있 는 것 을 살 펴 보 겠 습 니 다."
mvn dependency:tree
[INFO] com.example:myproject:jar:0.0.1-SNAPSHOT

화면 음악 dependency: tree 명령 은 프로젝트 의존 도 를 트 리 로 표시 합 니 다. spring - boot - starter - parent 자체 가 의존 하지 않 는 것 을 볼 수 있 습 니 다. pom. xml 를 편집 하고 parent 노드 에 spring - boot - starter - web 의존 도 를 추가 합 니 다.


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



pom. xml 이 있 는 파일 디 렉 터 리 에서 뮤 직 비디오 dependency: tree 를 다시 실행 하면 현재 Tomcat 웹 서버 와 Spring Boot 자신 을 포함 한 다른 의존 도 를 볼 수 있 습 니 다.
3. 코드 작성
프로그램 을 완성 하기 위해 서 는 별도의 자바 파일 을 만들어 야 합 니 다. Maven 은 기본적으로 src / main / 자바 의 원본 코드 를 컴 파일 하기 때문에 그런 파일 구 조 를 만 들 고 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);
}
}

코드 가 많 지 않 음 에 도 불구 하고 많은 일이 벌 어 지고 있 습 니 다. 중요 한 부분 을 단계별 로 검토 하 겠 습 니 다.
3.1@RestController@ RequestMapping 주석
  • 우리 의 Example 클래스 에서 사용 하 는 첫 번 째 주 해 는 @ RestController 입 니 다. 이것 은 구조 (stereotype) 주해 라 고 합 니 다. 코드 를 읽 는 사람들 에 게 조언 을 해 줍 니 다. Spring 에 대해 서 는 특별한 역할 을 합 니 다. 이 예제 에서 우리 의 종 류 는 웹 @ Controller 이기 때문에 웹 요청 을 처리 할 때 Spring 이 물 어 봅 니 다.
  • @ RequestMapping 주 해 는 경로 정 보 를 제공 합 니 다. "/" 경로 에서 온 HTTP 요청 은 모두 home 방법 에 반영 되 어야 합 니 다.
  • @ RestController 주 해 는 Spring 에 문자열 로 결 과 를 렌 더 링 하고 호출 자 에 게 직접 되 돌려 줍 니 다.
  • 주: @ RestController 와 @ RequestMapping 주 해 는 Spring MVC 주해 입 니 다 (Spring Boot 의 특정 부분 이 아 닙 니 다).
    3.2@EnableAutoConfiguration주해
  • 두 번 째 클래스 의 주 해 는 @ EnableAutoConfiguration 입 니 다. 이 주 해 는 Spring Boot 가 추 가 된 jar 의존 에 따라 Spring 을 어떻게 설정 하고 싶 은 지 알려 줍 니 다.
  • spring - boot - starter - web 에 Tomcat 과 Spring MVC 가 추가 되 었 기 때문에 auto - configuration 은 웹 애플 리 케 이 션 을 개발 하고 있다 고 가정 하고 Spring 을 설정 합 니 다.
  • Starter POMs 와 Auto - configuration: auto - configuration 을 디자인 하 는 목적 은 'Starter POMs' 를 더욱 잘 만 드 는 것 이지 만 이 두 개념 은 직접적인 연관 이 없다. starter POMs 이외 의 jar 의존 도 를 자 유 롭 게 선택 할 수 있 고 Spring Boot 는 여전히 응용 프로그램 을 자동 으로 설정 하기 위해 최선 을 다 할 것 이다.
  • 3.3main 방법
  • 우리 의 응용 프로그램의 마지막 부분 은 main 방법 입 니 다. 이것 은 표준 적 인 방법 일 뿐 입 니 다. 자바 가 응용 프로그램의 입구 점 에 대한 약속 을 따 릅 니 다. 우리 의 main 방법 은 run 을 호출 하여 Spring Boot 의 SpringApplication 류 에 업 무 를 맡 겼 습 니 다. SpringApplication 은 우리 의 응용 프로그램 을 유도 하여 Spring 을 시작 하고 자동 으로 설 정 된 Tomcat 웹 서버 를 시작 합 니 다.... SpringApplication 에서 누가 주요 Spring 구성 요소 인지 example. class 를 매개 변수 로 run 방법 으로 전달 해 야 합 니 다. 명령 행 인 자 를 노출 하기 위해 args 배열 도 전 달 됩 니 다.
  • 4. 예제 실행
  • 이 쯤 되면 우리 의 응용 프로그램 이 작 동 할 수 있 을 것 입 니 다. spring - boot - starter - parent POM 을 사 용 했 기 때문에 우 리 는 매우 유용 한 run 목 표를 가지 게 되 었 습 니 다. 프로그램 을 시작 할 수 있 습 니 다. 프로젝트 루트 디 렉 터 리 에 mvn spring - boot: run 을 입력 하여 응용 프로그램 을 시작 합 니 다.
  • 브 라 우 저 를 사용 하여 localhost: 8080 을 열 면 다음 출력 을 볼 수 있 습 니 다: Hello World!
  • ctrl - c 를 누 르 면 프로그램 을 부 드 럽 게 닫 습 니 다.
  • 실행 가능 한 jar 만 들 기
  • 완전히 포 함 된 실행 가능 한 jar 파일 을 만들어 서 예 시 를 끝 냅 니 다. 이 jar 파일 은 생산 환경 에서 실 행 될 수 있 습 니 다. 실행 가능 한 jars (때로는 뚱뚱 한 jars "fat jars") 는 컴 파일 된 클래스 와 코드 실행 에 필요 한 jar 의존 파일 입 니 다.
  • jars 와 자바: 자바 가 표준 으로 내 장 된 jar 파일 (즉 jar 파일 에 jar 파일 포함) 을 불 러 오 는 방법 을 제공 하지 않 았 습 니 다. 포 함 된 애플 리 케 이 션 을 발표 하려 면 문제 입 니 다. 이 문 제 를 해결 하기 위해 많은 개발 자 들 이 '공유 하 는' jars 를 사용 합 니 다. 공 유 된 jar 는 모든 jars 클래스 를 하나의 단독 으로 간단하게 포장 합 니 다."슈퍼 jar". 공유 jar 방식 을 사용 하 는 문 제 는 프로그램 에서 어떤 라 이브 러 리 를 사용 할 수 있 는 지 구분 하기 어렵 습 니 다. 여러 jars 에서 같은 파일 이름 이 존재 한다 면 (내용 은 다 릅 니 다) 문제 가 될 수 있 습 니 다.
  • Spring Boot 는 서로 다른 경 로 를 취하 고 당신 이 진정 으로 jars 를 내장 할 수 있 도록 합 니 다.
  • 실행 가능 한 jar 를 만 들 기 위해 서 는 spring - boot - maven - plugin 을 pom. xml 에 추가 해 야 합 니 다. dependencies 노드 에 다음 과 같은 내용 을 삽입 합 니 다.
    
    
    
    org.springframework.boot
    spring-boot-maven-plugin
    
    
    
    
  • 주: spring - boot - starter - parent POM 은 repackage 목 표를 연결 하 는 설정 을 포함 합 니 다. parent POM 을 사용 하지 않 으 면 이 설정 을 설명 해 야 합 니 다.
  • pom. xml 을 저장 한 다음 명령 행 에서 뮤 직 비디오 패키지 실행:
      [INFO] --- maven-jar-plugin:2.6:jar (default-jar) @ myproject ---
      [INFO] Building jar: D:\tests\target\myproject-0.0.1-SNAPSHOT.jar
      [INFO] ----------------------------------------------------------------------
      [INFO] BUILD SUCCESS
      [INFO] ----------------------------------------------------------------------
      [INFO] Total time: 4.515 s
      [INFO] Finished at: 2017-10-26T17:19:05+08:00
      [INFO] Final Memory: 19M/212M
    
  • 이 프로그램 을 실행 하기 위해 자바 - jar 명령 을 사용 할 수 있 습 니 다:
  • 예전 과 마찬가지 로 ctrl - c 를 누 르 면 부 드 럽 게 프로그램 을 종료 합 니 다.
  • 좋은 웹페이지 즐겨찾기