私は、Springブートアプリケーションクラスは他のクラスを拡張することができますが、main(String[] args)
メソッドは一般的にすべてSpringApplication.run(Application.class, args)
を使用することに注意してください。例では、多くの場合、Application
クラス定義の上に異なる注釈を使用します。Spring Boot Applicationクラスはどのように拡張できますか?
このOP 3つの密接に関連する質問の簡単な要約を要求します:
1)春ブーツApplication.javaクラスを拡張することができる可能なクラスは何ですか?
2.)それぞれの拡張オプションの用途は何ですか?
3)また、指定された拡張子を選択すると、クラス定義に追加する必要がある特定の注釈も指定されますか?
私の研究から、私は、次の3つの拡張オプションが同定されている。)
1.この例のように、全く何も拡張しない:
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
2)このあたりとして、WebMvcConfigurerAdapter
を拡張例:
@SpringBootApplication
@Controller
public class UiApplication extends WebMvcConfigurerAdapter {
public static void main(String[] args) {
SpringApplication.run(UiApplication.class, args);
}
}
3)は、この例に従って、SpringBootServletInitializer
を拡張:
@Configuration
@EnableAutoConfiguration
@EnableScheduling
@ComponentScan
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
public static void main(String... args) {
System.setProperty("spring.profiles.default", System.getProperty("spring.profiles.default", "dev"));
final ApplicationContext applicationContext = SpringApplication.run(Application.class, args);
}
}
例から注釈と最小限のものを残しています。このOPは、特定の注釈の選択肢または最小限の他のものが拡張の選択によって指示されるかどうかを単に尋ねます。
これらのクラスのjavadocは読んでいますか?おそらくあなたの質問に答えてくれるからです。 –