Spring Boot 教程

自定义 SpringApplication

如果默认的 SpringApplication 不能满足你的需求,你可以创建一个 SpringApplication 本地实例对象,并对它进行自定义。

例如:关闭 Spring Boot 的 banner 功能,代码如下:

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringapplicationDemoApplication {

    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(SpringapplicationDemoApplication.class);
        app.setBannerMode(Banner.Mode.OFF);
        app.run(args);
    }

}

传递给 SpringApplication 的构造器参数将作为 Spring Beans 的配置源,多数情况下,它们是一些 @Configuration 类的引用,但也可能是 XML 配置或要扫描包的引用。

你也可以使用 application.properties 文件来配置 SpringApplication。

流式构建API

如果需要创建一个分层的 ApplicationContext(多个具有父子关系的上下文),或只是喜欢使用流式(fluent)构建API,那你可以使用 SpringApplicationBuilder。SpringApplicationBuilder 允许你以链式方式调用多个方法,包括 parent 和 child 方法,这样就可以创建多层次结构,例如:

import org.springframework.boot.Banner;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
public class SpringapplicationDemoApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder().sources(ParentApplication.class)
                .child(SpringapplicationDemoApplication.class)
                .bannerMode(Banner.Mode.OFF)
                .run(args);
    }

}

注意:创建 ApplicationContext 层次时有些限制,比如,Web 组件必须包含在子上下文中,并且父上下文和子上下文使用相同的 Environment。

说说我的看法
全部评论(
没有评论
关于
本网站属于个人的非赢利性网站,转载的文章遵循原作者的版权声明,如果原文没有版权声明,请来信告知:hxstrive@outlook.com
公众号