2017-04-27 15 views

答えて

0

はそれが org.springframework.boot.autoconfigure.ImportAutoConfigurationorg.springframework.context.annotation.Importため 改善の交換であるというのは本当か?

@ImportAutoConfigurationはSpring Boot固有の注釈であるため、置き換えられません。拡張機能と呼ばれることがあります。しかし、Spring Bootを使用するときにはそれらを互換的に使用できるように見えますが、私はそれを提案しません。それらが使用されることを意図した通りに使用してください。 で既定の自動構成を有効にしたくない場合は、@ImportAutoConfigurationを使用します。ご存知のように、@EnableAutoConfigurationはクラスパスにあるbeanを設定しようとします(例:tomcat-embedded.jar)。 @ImportAutoConfigurationは、注釈で指定した構成クラスのみを実行します。

これは@ImportAutoConfigurationと春のブートアプリケーションmainメソッドの例です。

@ComponentScan("path.to.your.controllers") 
@ImportAutoConfiguration({WebMvcAutoConfiguration.class 
    , DispatcherServletAutoConfiguration.class 
    , EmbeddedServletContainerAutoConfiguration.class 
    , ServerPropertiesAutoConfiguration.class 
    , HttpMessageConvertersAutoConfiguration.class}) 
public class App { 
    public static void main(String[] args) { 
    SpringApplication.run(App.class, args); 
    } 
} 

あなたはそれが@EnableAutoConfigurationを使用する代わりであることを言うかもしれません。この場合、ベアボーン埋め込みTomcatとSpring WebMVCを設定します。


@Importは、カスタムBean構成を含む @ConfigurationとマークされたBean構成クラスをインポートするために使用されます。

+0

ここでは例として提供されているアプリケーションAppがあるとします。 「ImportAutoConfiguration」を「Import」に置き換えた場合、変更されるのは何ですか? – michaldo

+0

'@ Import'で試してみましたが、何も変わりませんでした。すべてのBeanが作成され、すべての構成が実行されます。 –

+0

私は実際には、実際の技術的な違いが2つの注釈を使用することに興味があります。 –

関連する問題