5分でSpringBootのクイックスタートに移動します

5分でSpringBootのクイックスタートに移動します

1はじめに

a)Springアプリケーション開発のフレームワークを簡素化します; b)Springテクノロジースタック全体の大規模な統合; c)J2EE開発のワンストップソリューション;

利点:

1.独立した実行中の春のプロジェクトをすばやく作成し、主流のフレームワークと統合します

2.組み込みサーブレットコンテナを使用する場合、アプリケーションをwarパッケージにパッケージ化する必要はありません。

3.スターターの自動依存関係とバージョン管理

4.開発を簡素化するための多数の自動構成。デフォルト値を変更することもできます

5.無秩序な構成XML、コード生成なし、箱から出してすぐに使用可能

6.準本番環境でのランタイムアプリケーションの監視

7.クラウドコンピューティングとの自然な統合

2.環境を構築します

A)提供されたMaven Mavenプロファイルにラベルを付けるためにsettings.xml構成ファイルが追加されます

<profile>
  <id>jdk-1.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>

b)アイデアの設定:アイデアツールでMavenを構成します

ここに画像の説明を挿入

3.SpringBootは単純なプロジェクトを作成します

要求:ブラウザーはhello要求を送信し、サーバーは要求を受け入れて処理します。応答文字列Hello World

a)Mavenプロジェクト(jar)を作成します

b)SpringBoot関連の依存関係をインポートする

 <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>

c)メインプログラムを作成し、SpringBootアプリケーションを起動します

//@SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
@SpringBootApplication
public class HelloWorldMainApplication {
    
    
    public static void main(String[] args) {
    
    
        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

d)関連するコントローラーを作成する

@Controller
public class HelloController {
    
    
    @ResponseBody
    @RequestMapping("/hello")
    public String hello(){
    
    
        return "Hello World!";
    }
}

e)メインプログラムでmainメソッドを起動し、アクセスするブラウザからアドレスを入力します(サーバーは「HelloWorld!」を返します)


f)簡略化されたデプロイメント:このアプリケーションはjarパッケージとしてマークされ、java- jarコマンドで直接実行できます

 <!-- 这个插件,可以将应用打包成一个可执行的jar包;-->
    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

4.springBootプロジェクトの最下部に深く入ります

a)POMファイル

①親プロジェクト

<!--SpringBoot项目依赖的的父项目-->
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.5.9.RELEASE</version>
</parent>

<!--父项目再依赖的父项目如下,它是真正管理Spring Boot应用里面的所有依赖版本-->
<!--以后我们在导入依赖时,默认是不需要写版本号的(若不在dependencies里面管理的依赖,需要声明版本号)-->
<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は、すべての機能シナリオをスターター(スターター)に抽出します。これらのスターター関連シナリオのすべての依存関係をプロジェクトにインポートする必要があります。必要な機能のシーンのランチャーをインポートします。次に例を示します。spring-boot-starter-web

<dependency>
    <groupId>org.springframework.boot</groupId>
    <!--spring-boot-starter:spring-boot场景启动器;帮我们导入了web模块正常运行所依赖的组件;-->
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>

b)メインプログラムクラス、メインエントランスクラス

//@SpringBootApplication 来标注一个主程序类,说明这是一个Spring Boot应用
@SpringBootApplication
public class HelloWorldMainApplication {
    
    
    public static void main(String[] args) {
    
    
        // Spring应用启动起来
        SpringApplication.run(HelloWorldMainApplication.class,args);
    }
}

@ SpringBootApplication(Spring Boot構成クラス)

特定のクラスのSpringBootアプリケーションアノテーションは、このクラスがSpringBootのメイン構成クラスであることを示しています。SpringBootはこのクラスのmainメソッドを実行して、SpringBootアプリケーションを起動する必要があります。以下のこのアノテーションの詳細を確認してください。

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
@SpringBootConfiguration//标注在某个类上,表示这是一个Spring Boot的配置类;
@EnableAutoConfiguration//开启自动配置功能
@ComponentScan(excludeFilters = {
     
     
      @Filter(type = FilterType.CUSTOM, classes = TypeExcludeFilter.class),
      @Filter(type = FilterType.CUSTOM, classes = AutoConfigurationExcludeFilter.class) })
public @interface SpringBootApplication {
     
     }//@SpringBootApplication注解

	//------------------------------------------------------------------------
    @Target({
     
     ElementType.TYPE})
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    @Configuration//代表配置类(全注解开发)== 配置文件
    public @interface SpringBootConfiguration {
     
     }//@SpringBootConfiguration注解


		//------------------------------------------------------------------------
        @Target({
     
     ElementType.TYPE})
        @Retention(RetentionPolicy.RUNTIME)
        @Documented
        @Component//配置类也是容器中的一个组件
        public @interface Configuration {
     
     //@Configuration注解
            String value() default "";
        }

@ EnableAutoConfiguration(自動構成機能を有効にします)

コンテンツを構成する必要がある前に、Spring Bootは自動構成を支援します。@ EnableAutoConfigurationはSpringBootに自動構成機能をオンにするように指示します。自動構成を有効にするには、以下の注釈の詳細を参照してください。

@AutoConfigurationPackage//自动配置包
@Import(EnableAutoConfigurationImportSelector.class)//Spring的底层注解@Import,是将主配置类(@SpringBootApplication标注的类)的所在包及下面所有子包里面的所有组件扫描到Spring容器
public @interface EnableAutoConfiguration {
     
     }

Spring Bootが起動すると、クラスパスの下のMETA-INF /spring.factoriesからEnableAutoConfigurationで指定された値を取得し、これらの値を自動構成クラスとしてコンテナーにインポートします。自動構成クラスが有効になります。自動構成作業を手伝ってください。 以前は、自分で構成する必要がありました。自動構成クラスが役に立ち(springBootの担当者がこれらのタスクを実行したと言えます)、全体的なJ2EE統合ソリューションと自動構成がすべて揃っています。 spring-boot-autoconfigure-1.5.9.RELEASE.ja

5)Spring Initializerを使用して、SpringBootプロジェクトをすばやく作成します

①IDEA:SpringInitializerを使用してプロジェクトをすばやく作成する

IDEは、Springのプロジェクト作成ウィザードを使用してSpring Bootプロジェクトをすばやく作成し、必要なモジュールを選択すると、ウィザードがインターネット上にSpring Bootプロジェクトを作成し、デフォルトで生成されたSpringBootプロジェクトをサポートします。

- 主程序已经生成好了,我们只需要我们自己的逻辑
- resources文件夹中目录结构
  - static:保存所有的静态资源; js css  images;
  - templates:保存所有的模板页面;(Spring Boot默认jar包使用嵌入式的Tomcat,默认不支持JSP页面);可以使用模板引擎(freemarker、thymeleaf);
  - application.properties:Spring Boot应用的配置文件;可以修改一些默认设置;

おすすめ

転載: blog.csdn.net/weixin_45496190/article/details/107140300