SpringBoot配置文件以及启动类

本文详细介绍了SpringBoot的启动类如何实例化以及如何控制启动时的行为,包括SpringApplication的配置方法。还讨论了application.properties和application.yml的使用,以及不同情况下配置文件的优先级规则。
摘要由CSDN通过智能技术生成

1、SpringBoot启动类: 

package com.tx.springboot_test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
 * springboot启动类 入口
 */
@SpringBootApplication
public class SpringBootTestApplication {

    public static void main(String[] args) {
        //启动spring应用
        SpringApplication.run(SpringBootTestApplication.class, args);
    }
}

想要外部化SpringBoot的SpringApplication的配置;就需要先实例SpringApplication

比如我们想Spring Boot 横幅不会在启动时打印:

SpringApplication app=new SpringApplication(SpringBootTestApplication.class);      
app.setBannerMode(Banner.Mode.OFF);
app.run(args);

或者使用

new SpringApplicationBuilder()
                .bannerMode(Banner.Mode.OFF)
                .sources(SpringBootTestApplication.class)
                .run(args);

当然还有其它的可以使用如:

        setDefaultProperties():启用外部自定义的.properties配置

2、SpringBoot的配置文件

        application.properties是SpringBoot默认的配置文件,它里面的书写方式是以键值对的格式书写;

server.port=8087
spring.main.lazy-initialization=true

spring.main.lazy-initialization=true是设置初始化懒加载,目的是bean在spring初始化时不创建,只有在使用到这个bean的时候才创建。

我们也可以将其修改成application.yml,这时它的书写格式就变成了树型结构,

server:
  port: 8089
spring:
  main:
    lazy-initialization: true

当然,这两个格式可以同时存在

但是在springBoot3.x版本中application.properties的优先级高一点,.yam作为补充,不会将原有的配置覆盖。

配置文件在不同位置的优先级:

首先要知道当项目被打成jar时,只会编译src目录下的文件,所以配置文件的优先级需要从两个方面来看,

第一种不打成jar时,优先级从高到低:

        高

               1、 项目根路径/config     

                        

               2、 项目根目录

                        

                3、resources/config

                        

               4、 resources/

                        

        低

如果打成jar,命令行运行jar时指定了properties那它的优先级就是最高的

java -jar jar名称 --spring.config.location=资源路径  //如D:\config/  他会自动的去找配置文件

如果不指定那么就是看src目录下哪个配置文件优先级高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值