SpringApplication与构建者的直接对话(简称翻译)

    技术2022-07-11  81

    SpringApplication与构建者的直接对话(简称翻译)

    应用可以被java main方法引导和启动,默认情况下会会有以下几个步骤引导你的应用启动。

    创建一个合适的ApplicationContext实例。(取决于classpath)注册一个CommandLinePropertySource管理你的命令行参数作为Spring的属性刷新应用上下文,加载所有的单例bean触发任何CommandLineRunner相关的实例bean.

    很多情况类方法 run(Class, String[]) 可以直接引导启动应用。

    @Configuration @EnableAutoConfiguration public class MyApplication { // ... Bean definitions public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }

    或者可以在run方法启动前,自定义装配SpringApplication,如下。

    public static void main(String[] args) { SpringApplication application = new SpringApplication(MyApplication.class); // ... customize application settings here application.run(args) }

    SpringApplication可以从很多种资源方式读取beans,通常是以@Configuration类来引导应用程序读取,但是也可以从以下几种方式去设置资源。

    被AnnotatedBeanDefinitionReader加载的类XmlBeanDefinitionReader加载XML的方式,或者groovy script被GroovyBeanDefinitionReader加载被ClassPathBeanDefinitionScanner扫描的包下的资源

    属性配置也绑定到SpringApplication中,这使得配置在SpringApplicaiton得配置是灵活多变得。例如"spring.main.web-application-type=none" (“spring.main.banner-mode=off”).

    阅读警告!!本人CET4水平,大量白话翻译,阅读不畅,内容歧义还请指出-。-内容待续。。。

    Processed: 0.012, SQL: 9