(012)SpringBootApplication春ブーツは、デフォルトのスキャン経路の注釈を変更します

  SpringBootApplicationデフォルトスキャンすべてのクラスと現在のパケットのサブパケットは、同じレベルのコメントSpringBootApplicationユーザと、以下に示すように、ユーザ豆を得ることができません。

  pom.xml

<?xml version = "1.0" エンコード= "UTF-8"?>

<プロジェクトのxmlns = "http://maven.apache.org/POM/4.0.0"のxmlns:XSI = "http://www.w3.org/2001/XMLSchema-instance" 
    のxsi:schemaLocationの = "のhttp:/ /maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd ">
    <modelVersion> 4.0.0 </ modelVersion>

    <groupIdを> com.edu.spring </ groupIdを>
    <たartifactId> springboot </たartifactId>
    <バージョン> 1.0.0 </バージョン>
    <パッケージ> JAR </梱包>

    <名前> springboot </名前>
    <! - プロジェクトのウェブサイトにFIXME変更それを - >
    <URL>のhttp:// www.example.com </ URL>
    
    <dependencyManagement>
        <依存性>
            <依存>
                <groupIdを> org.springframework.boot </ groupIdを>
                <たartifactId>春ブート依存関係</たartifactId>
                <バージョン> 2.1.6.RELEASE </バージョン>
                <スコープ> インポート </スコープ>
                <タイプ> POM </タイプ>
            </依存関係>
        </依存関係>
    </ dependencyManagement>
    
    <プロパティ>
        <project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
        <maven.compiler.source> 1.8 </maven.compiler.source>
        <maven.compiler.target> 1.8 </maven.compiler.target>
    </プロパティ>

    <依存性>
        <依存>
            <groupIdを> org.springframework.boot </ groupIdを>
            <たartifactId>春・ブート・スターター</たartifactId>
        </依存関係>
    </依存関係>

</プロジェクト>
コードの表示

  User.java

パッケージcom.edu.spring.user。

輸入org.springframework.stereotype.Component;

@成分
パブリック クラスユーザー{

}
コードの表示

  App.java

パッケージcom.edu.spring.springboot。

輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.context.ConfigurableApplicationContext;

輸入com.edu.spring.user.User;

@SpringBootApplication
パブリック クラスのApp
{

    公共の 静的な 無効メイン(文字列[] args)を
    {
        SpringApplicationアプリ = 新しい SpringApplication(APP。クラス);
        ConfigurableApplicationContextコンテキスト = app.run(引数)。
        System.out.println(context.getBean(ユーザー。クラス));
        context.close();
    }
}
コードの表示

  ディレクトリ構造:

   結果は以下の通りであります:

  走査経路はscanBasePackagesで指定することができます

  App.java、変更@SpringBootApplication(scanBasePackages = { "com.edu.spring"})

パッケージcom.edu.spring.springboot。

輸入org.springframework.boot.SpringApplication。
輸入org.springframework.boot.autoconfigure.SpringBootApplication。
輸入org.springframework.context.ConfigurableApplicationContext;

輸入com.edu.spring.user.User;

@SpringBootApplication(scanBasePackages = { "com.edu.spring" })
 パブリック クラスアプリ
{

    公共の 静的な 無効メイン(文字列[] args)を
    {
        SpringApplicationアプリ = 新しい SpringApplication(APP。クラス);
        ConfigurableApplicationContextコンテキスト = app.run(引数)。
        System.out.println(context.getBean(ユーザー。クラス));
        context.close();
    }
}
コードの表示

  結果は以下の通りであります:

   除外とexcludeNameは除外クラスをスキャンすることができ、次のようにユーザーの豆を得ることはありません。

  @SpringBootApplication(scanBasePackages = { "com.edu.spring"}、除外= User.class)

  @SpringBootApplication(scanBasePackages = { "com.edu.spring"}、excludeName = "com.edu.spring.user.User")

おすすめ

転載: www.cnblogs.com/javasl/p/11918160.html
おすすめ