春@ContextConfigurationコメント

オリジナル住所:https://www.cnblogs.com/bihanghang/p/10023759.html

@ContextConfigurationこの注釈は、一般@RunWith(SpringJUnit4ClassRunner.class)の併用を試験するために使用します

クラスがコメントを追加すると@Component、その後、彼は自動的に豆となり、あなたはSpring構成ファイルが設定されている表示する必要はありません。これらのBeanには、2つの方法、JavaとXMLの方法のように通常収集します。これらのBeanが収集したとき、我々はテストクラスで使用する場合、@Autowiredこれらを収集するために豆の注釈を導入したとき、ちょうど追加するには、このテストクラスを与え@ContextConfiguration、我々はテストクラスの一部をインポートするBeanをマークするために注釈を。

XML

のは、高齢者のためのXMLの方法を見てみましょう:

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

<豆のxmlns = "http://www.springframework.org/schema/beans" 
    のxmlns:XSI = "http://www.w3.org / 2001 / XMLスキーマ・インスタンス"のxmlns:P = "http://www.springframework.org/schema/p" 
    のxmlns:コンテキスト = "http://www.springframework.org/schema/context" 
    XSI:のschemaLocation =" http://www.springframework.org/schema/beans   
    ます。http:// www.springframework.org/schema/beans/spring-beans-3.1.xsd   
    ます。http:// www.springframework.org/schema/context   
    のhttp:/ / www.springframework.org/schema/context/spring-context-3.1.xsd>
 
    <! -自动扫描该包- >
    <コンテキスト:コンポーネント・スキャン塩基パッケージ = "COM" /> 
</豆>

このXMLファイル<context:component-scan base-package="com" />豆袋コムの下のラベルが自動的にすべての着信をスキャンします。

ここでは、テストすることができるようになります。

一般的な書き込み:

@RunWith(SpringJUnit4ClassRunner クラス
@ContextConfiguration(位置 = { "クラスパス* / * XML" })
 パブリック クラスCDPlayerTest { 

}

@ContextConfigurationブラケットはlocations = {"classpath*:/*.xml"}、先ほど作成したXMLファイルが含まれますように、すべての.xmlファイルにクラスパスが、含まれていると言う、それは自動的にあなたが得ることができる豆の内部をスキャンし、その後、あなたはクラスでテストすることができます使用@AutowiredすべてのBeanを取得するには、注釈の前にパッケージの下に自動スキャンを

classpath和classpath*区别:

  • クラスパス:ファイルのみを見つけるためにあなたのクラスパスを見つけます。

  • クラスパス*:クラスパスだけでなく、また、それを見つけるためにjarファイル(クラスパス)が含まれています。

ジャワ

あなたは非常にシンプルになりますJavaの道を使用している場合、我々は上記のみ、このクラスに追加する必要があり、我々は代わりにXMLファイルのJavaクラスを作成することができますので、複雑なXML文書を記述する必要はありません@Configuration、その後、コメントを追加@ComponentScan開くために注釈を自動スキャン、ノートは括弧内のものを書いていない場合は、同じ@ ComponentScanデフォルトスキャン設定のクラスパッケージ。

@Configuration 
@ComponentScan 
パブリック クラスCDPlayConfig { 

}

あなたはそれをテストしたい場合は、この時点で、あなたは書くことができます。

@RunWith(SpringJUnit4ClassRunner。クラス
@ContextConfiguration(クラス = CDPlayConfig。クラスパブリック クラスCDPlayerTest { 

}

XMLと比較すると、それは仕方の公式の提唱者である、非常にクールではありません。

春ブーツ試験で

@RunWith(SpringJUnit4ClassRunner。クラス
@SpringBootTest 
パブリック クラスのテスト{ 
}

これは、注釈@SpringBootTest SpringBootがすべて含まれるメインクラス豆に導入することを意味します。

このときSpringBootメインクラスはまた、コレクタBeanとして使用されます。上記同様CDPlayConfig。

@SpringBootApplication 
@SpringBootConfiguration 
@ComponentScan(basePackages = { "com.bihang *" })
 パブリック クラス CarOrderWebApplicationは延びSpringBootServletInitializer { 
    @Overrideが
    保護SpringApplicationBuilderの設定(SpringApplicationBuilderビルダー){
         戻り builder.sources(CarOrderWebApplication クラス)。
    } 

    パブリック 静的 ボイドメイン(文字列[]引数){ 
        SpringApplication.run(CarOrderWebApplication。クラス、引数)。
    } 

}

 

おすすめ

転載: www.cnblogs.com/dyh004/p/11584129.html
おすすめ