// banner 相关
public static final String BANNER_LOCATION_PROPERTY_VALUE = SpringApplicationBannerPrinter.DEFAULT_BANNER_LOCATION;
public static final String BANNER_LOCATION_PROPERTY = SpringApplicationBannerPrinter.BANNER_LOCATION_PROPERTY;
private Banner.Mode bannerMode = Banner.Mode.CONSOLE;
private Banner banner;
// 非图形界面时设置,提高运行效率 https://blog.51cto.com/u_16175478/7117156
private static final String SYSTEM_PROPERTY_JAVA_AWT_HEADLESS = "java.awt.headless";
private boolean headless = true;
// 程序终止钩子(jvm相关)
private boolean registerShutdownHook = true;
static final SpringApplicationShutdownHook shutdownHook = new SpringApplicationShutdownHook();
// 程序钩子,通过钩子方法 withHook 启动,可以创建生命周期监听器
private static final ThreadLocal<SpringApplicationHook> applicationHook = new ThreadLocal<>();
// 主类相关
private final Set<Class<?>> primarySources;
private Set<String> sources = new LinkedHashSet<>();
private Class<?> mainApplicationClass;
// spring 容器初始化监听器,可以通过 spring.factories 添加,也可以直接调用方法
private List<ApplicationContextInitializer<?>> initializers;
// spring 组件监听器,可以通过 spring.factories 添加,也可以直接调用方法
private List<ApplicationListener<?>> listeners;
// 是否打印某些日志
private boolean logStartupInfo = true;
// 是否使用命令行参数,即 java -jar xx.jar --server.port=9090 就是
private boolean addCommandLineProperties = true;
// spring 组件,类型转换服务,包含转换器,转换工厂,转换注册中心等相关接口,存放在 environment 中
private boolean addConversionService = true;
// spring 组件,资源加载器,默认是空的,如果不为空则会替换掉 ApplicationContext 默认的资源加载器
private ResourceLoader resourceLoader;
// spring 组件 bean 名称生产构造器,默认为空,只有在使用注解启动时候需要替换
private BeanNameGenerator beanNameGenerator;
// spring 核心组件,最基本的实现为 StandardEnvironment
private ConfigurableEnvironment environment;
private boolean isCustomEnvironment = false;// 是否自定义
// 根据该类型的不同创建不同的 environment
private WebApplicationType webApplicationType;
// spring 的默认属性,里面存放 spring 的配置,会被放在 environment 中的 name 为 defaultProperties 的 PropertySource 中,默认属性的优先级最低
private Map<String, Object> defaultProperties;
// 上下文信息初始化监听器,可以通过 spring.factories 添加,也可以直接调用方法
private final List<BootstrapRegistryInitializer> bootstrapRegistryInitializers;
// 额外的配置文件,会加入 active 的 profiles 中,如加了一个 p1,那就是 application-p1.yml
private Set<String> additionalProfiles = Collections.emptySet();
// 设置 bean 工厂依赖策略,即是否允许循环依赖
private boolean allowBeanDefinitionOverriding;
private boolean allowCircularReferences;
// 设置 bean 懒加载,通过 bean 工厂后置处理器 LazyInitializationBeanFactoryPostProcessor
private boolean lazyInitialization = false;
// spring 容器工厂,用于创建容器(ApplicationContext)和环境(environment)
private ApplicationContextFactory applicationContextFactory = ApplicationContextFactory.DEFAULT;
// spring 组件,应用步骤记录器,也就是记录信息,可以用来实现 jfr 等记录信息的机制
private ApplicationStartup applicationStartup = ApplicationStartup.DEFAULT;
// 通过环境变量配置的时候可以设定前缀,也就是程序内部去读取环境变量的时候会加上前缀读取,但是使用时会去掉前缀,比如配置的 my.server.port=xx 就能替换端口,注意是环境变量不是 idea,中可以通过 environment properties 设置
private String environmentPrefix;
spring-boot 3.2配置说明
最新推荐文章于 2025-04-18 15:00:00 发布