봄 부팅 학습 --- 01

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 응용 프로그램 구성 파일, 당신은 몇 가지 기본 설정을 수정할 수 있습니다

추천

출처www.cnblogs.com/cjq10029/p/12504830.html