springboot配置文件

这是我参与8月更文挑战的第1天,活动详情查看:8月更文挑战

1.目的:代码中获取application.properties/yml中数据

1 获取单个数据
//1
@Value("${spring.map.url}")
private String url;

//3调用
public void aVoid(){
    System.out.println(“路径为” + url);
}
复制代码
#2配置文件
spring: 
    map:
        url: 127.0.0.1:9000
复制代码
2 批量匹配数据
//1类匹配
@Component
@ConfigurationProperties(prefix = "person")
public class Person {
    private String lastName;
    private Integer age;
    private Boolean boss;
    ....
    省略getset,tostring等
复制代码
#2配置文件
person:
  lastName: 战三
  age: 12
  boss: true
复制代码
//3调用
@Autowired
private Person person;

@RequestMapping("/test1")
public void aVoid(){
    System.out.println(person.toString());
}

复制代码

3 扩展

//匹配指定的配置文件

@PropertySource(value = “classpath:person.yml”)

2 目的:springboot中加新组件

@Configuration//配置类
public class MyAppConfig {

    //将方法的返回值加到容器中,容器中bean默认id是方法名helloService
    @Bean
    public HelloService helloService(){
        System.out.println("添加到容器中");
      return new HelloService();
    }
}
复制代码

3 yml中占位符

1 可以写随机数

lastName: 战三1${random.uuid}
age: 121${random.int}
复制代码

2 占位符,获取前面配置的值,如果没有可以设置默认值

abc: ${person.age:12}
复制代码

4 多环境配置

4.1 yml中配置

spring:
    profiles:
          active: test  当前是测试环境
          
复制代码

4.2 idea中启动配置

image.png

5 resours中多个配置文件

springboot启动会默认扫描使用application.yml作为默认配置文件,多个配置时会按照优先级进行加载,高优先级配置会覆盖低优先级配置的内容。

image.png
从高—–到低

也可以通过配置spring.config.location来改变默认配置。

6 按照指定的条件,给容器添加组件。

可以在yml中配置debug=true来查看springboot启动过程中debug模式

image.png

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享