A, 봄 부팅 항목
1.Spring 부팅 프로필
Spring 애플리케이션 개발을위한 단순화 된 프레임 워크
전체 기술 스택의 큰 통합을 봄
원 스톱 솔루션의 J2EE 개발
2. 마이크로 서비스
2014 년 마틴 파울러
마이크로 서비스 : 아키텍처 스타일
작은 서비스의 집합해야하는 응용 프로그램은, HTTP를 경유하여 통신 할 수 있습니다
각 기능 요소는 독립적 인 최종 대안과 독립적 인 수단 소프트웨어 업그레이드입니다
3. 환경 제약
-jdk1.7 및 1.8.0_112을 상술
3.3.9 이상 -maven3.3
-IntelliJIDEA2017
- 봄 Boot1.5.9
1.MAVEN Settings.XML의
<profile>
<id>jdk1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
2.IDEA 설정
받는다는 홈 디렉토리
사용자 설정 파일
4.Spring 부팅은 HelloWorld
메이븐 프로젝트를 만듭니다 1
2. 관련 의존 봄 부팅 도입
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.9.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
시작 봄 부팅 : 메인 프로그램을 작성합니다
/**
* @SpringBootApplication 来标注一个主程序,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloApp {
public static void main(String[] arge){
//Spring 应用启动起来
SpringApplication.run(HelloApp.class,arge);
}
}
4. 쓰기 CONTROLER, 서비스
@Controller
public class HelloController {
@ResponseBody
@RequestMapping("/hello")
public String hello(){
return "Hello World";
}
}
5. 테스트는 메인 프로그램을 실행
6. 단순화 배포
<!-- 这个插件,可将应用打包成一个可执行的jar包 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
이 응용 프로그램은 항아리 패키지, 자바 -jar 명령 실행의 직접 사용 표시됩니다
5.Hello 세계 탐험
1.POM 파일
1. 부모 프로젝트
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<!-- 它的父项目是 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath>../../spring-boot-dependencies</relativePath>
</parent>
<!-- 它来真正管理Spring Boot应用里面的所有依赖版本 -->
봄 부트 버전 중재 센터
우리가 가져온 후 의존은 기본 버전을 쓸 필요는 없다 (의 관리 안에 자연스럽게 종속성을 선언 할 필요가 없습니다)
2. 수입 의존도
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
스프링 부팅 스타터 웹 :
스프링 봇 스타터 : 봄 부팅 장면 개시, 우리가 웹 어셈블리 모듈을 도입 도움이 정상적으로 따라 작동
봄 부팅이 모든 장면, 추출, 단지 프로젝트에 시동을 가져와야 스타터 (스타터)의 수를 만들어 기능을 모두 와서 가져 관련 장면에 따라 달라집니다
메인 프로그램의 2, 정문 클래스
/**
* @SpringBootApplication 来标注一个主程序,说明这是一个Spring Boot应用
*/
@SpringBootApplication
public class HelloApp {
public static void main(String[] arge){
//Spring 应用启动起来
SpringApplication.run(HelloApp.class,arge);
}
}
@SpringBootApplication : 봄 부팅 응용 프로그램이이 클래스는 SpringBoot 마스터 클래스 구성임을 나타내는 클래스에 표시되어, SpringBoot 당신은 SpringBoot을 시작하는 응용 프로그램이 클래스의 main 메소드를 실행해야합니다
@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan( excludeFilters = {
@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class}),
@Filter( type = FilterType.CUSTOM, classes ={AutoConfigurationExcludeFilter.class})})
public @interface SpringBootApplication {
@ SpringBootConfiguration : 봄 부팅 구성 클래스 :
클래스에 표시, 그는 그것이 SpingBoot 구성 클래스했다
@ Configuration (구성) : 구성 클래스는이 코멘트를 표시
구성 클래스는 ...... 프로필 : 클래스는 설정 컨테이너입니다 : @Component
@ EnableAutoConfiguration : 자동 구성 기능을 설정;
우리가 구성하려면 SpringBoot의 도움을 필요로하기 전에 상황이 우리를 구성, @가 EnableAutoConfiguration 자동 구성 기능을 열 SpringBoot 말해,이 명령이 효력을 자동으로 걸릴 것입니다;
@AutoConfigurationPackage
@Import({EnableAutoConfigurationImportSelector.class})
public @interface EnableAutoConfiguration {
@ AutoConfigurationPackage 자동 구성 패키지 :
@Import ({} Registrar.class)
어셈블리에 용기에 도입 봄의 주석 @import; 수입 구성 요소 Registrar.class
여기서 모든 기본 패키지 구성 클래스의 모든 구성 요소 (@SpringBootApplication 클래스 라벨) 및 스캔 스프링 용기 내부의 하부 서브 패킷;
@ 가져 오기 ({EnableAutoConfigurationImportSelector.class}) :
컨테이너로 가져 오기 구성 요소
EnableAutoConfigurationImportSelector : 어셈블리 셀렉터를 도입;
이러한 구성 요소가 컨테이너에 추가 될 것이다 모든 구성 요소가 도입 된 전체 클래스 이름 방식을 반환하는 데 필요한;
이 장면은 컨테이너에 필요한 모든 구성 요소를 가져오고 이러한 구성 요소를 구성하는 것입니다, 그것은 클래스의 많은 (xxxAutoConfiguration)와 함께 제공 컨테이너 구성을 가져옵니다;
자동 구성 클래스로 수동으로 우리가 기능적 구성 요소를 주입 구성 작업을 작성할 필요가 없습니다;
SpringFactoriesLoader.loadFactoryNames (EnableAutoConfiguration.class, 클래스 로더);
부팅시 SpringBoot가 EnableAutoConfiguration는 자동 구성은 용기에 클래스로이 값이 자동으로 힘에 기초하여 구성된 META-INF / spring.factories 클래스 경로의 값을 구하는 지정된 우리는 자동으로 설정을위한 작업; 우리는 구성 전에 자신의 일, 우리를 돕기 위해 자동 구성 클래스에 필요;
스프링 부팅 자동 구성 - 1.5.9.RELEASE.jar는 J2EE 전체 통합 솔루션 및 자동 구성에있다;
6. 봄 부팅 빨리 봄 Initislizer를 사용하여 프로젝트를 생성
IDE는 빨리 봄 봄 부트 프로젝트를 사용하여 프로젝트를 만들 수있는 생성 마법사를 지원;
마법사 생성 SpringBoot 프로젝트 네트워킹, 우리가 필요로하는 모듈을 선택;
농부는 봄 부트 프로젝트를 생성 :
- 주요 프로그램은 좋은, 자신의 논리를 작성하는 단지 필요성을 생성 한
- 디렉토리 구조 폴더 자원
- 정적 : 저장 모든 정적 리소스, JS CSS 이미지;
- 템플릿 : 모두 저장 템플릿 페이지 (봄 부팅 기본 항아리 패키지 임베디드 바람둥이를 사용하여이 기본이 JSP 페이지를 지원하지 않습니다), 당신이 사용할 수있는 템플릿 엔진을 (프리 마커, thymeleaf)
- application.properties:SpringBoot 응용 프로그램 구성 파일, 당신은 몇 가지 기본 설정을 수정할 수 있습니다