SpringBoot配置文件的使用

  • Post author:
  • Post category:其他




配置文件的使用

作用:修改springboot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

1.(1)application.properties

  • 用法:扁平的k/v格式
server.port=8081
server.servlet.context-path=/xuexi

(2)pplication.yml

  • 用法:树形结构(空格必须有,通过空格来表示层级关系,属性和值大小写敏感)
server:
  port: 8080
  servlet:
   	context-path: /xuexi
        

2.读取顺序:

  • (1)yml->yaml->properties

  • (2)按优先级互补(命令行优先级最高)

--server.port=8087



三.Profile文件的加载

1.Spring 官方给出的语法规则是spplication-{profile}.properties(.yaml/yml).

2.如果需要创建自定义的properties文件时,可以用application-xxx。properties的命名方式

@ConfigurationProperties(prefix = "user")//常用于bean属性和yml文件的绑定,prefix可以指定配置文件中某一个节点,该节点中的子节点将自动和属性进行绑定

3.生产META-INF 元数据,用于提供idea自动提示

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-configuration-processor</artifactId>
    <!--依赖不会传播-->
   <optional>true</optional>
</dependency>
<dependency>
   <!--数据校验-->
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-validation</artifactId>
   <version>2.5.4</version>
   <scope>test</scope>
@ConfigurationProperties(prefix = "user")//常用于bean属性和yml文件的绑定
@Validated//支持jsr-303数据校验
@Target({ElementType.TYPE})//当前注解可以标记在哪
@Retention(RetentionPolicy.RUNTIME)//注解编译后以什么方式保留
@Documented//生成注解信息
@Inherited//是否能被继承
@SpringBootConfiguration//springboot配置类
@EnableAutoConfiguration//启动自动配置
@ComponentScan(
    excludeFilters//排除掉不需要扫描的包 = {@Filter(
    type = FilterType.CUSTOM,
    classes = {TypeExcludeFilter.class}
),//扫描包,相当于spring.xml配置中<context:comonent-scan>没有指定扫描包,自动扫描当前包



版权声明:本文为weixin_48731584原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。