配置文件的使用
作用:修改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 版权协议,转载请附上原文出处链接和本声明。