zoukankan      html  css  js  c++  java
  • Spring Boot 如何在类中应用配置文件

    如何在类中应用配置文件

    优先级
    当前目录子目录的/config > 当前目录 > classpath的/config包 > classpath的根目录
    即:越靠近的优先级越高

    **指定配置文件
    @PropertySource 和 SpringApplication.setDefaultProperties,比如:

    SpringApplication application = new SpringApplication(Application.class);
    Map<String, Object> defaultMap = new HashMap<String, Object>();
    defaultMap.put("name", "Isea-Blog");
    //还可以是Properties对象
    application.setDefaultProperties(defaultMap);
    application.run(args);

    **应用属性
    @Value(“${xxx}”)和@ConfigurationProperties,比如:
    配置文件:

    my.name=Isea533
    my.port=8080
    my.servers[0]=dev.bar.com
    my.servers[1]=foo.bar.com

    对应对象:

    @ConfigurationProperties(prefix="my")
    public class Config {
        private String name;
        private Integer port;
        private List<String> servers = new ArrayList<String>();
    
        public String geName(){
            return this.name;
        }
    
        public Integer gePort(){
            return this.port;
        }
        public List<String> getServers() {
            return this.servers;
        }
    }

    Spring Boot 会自动将prefix="my"前缀为my的属性注入进来。当然若不指定前缀,则将名字对应的注入,可能冲突。

    比如我在文件中配置了一个

    massage:
      data:
        name: qibaoyi

    我在类中想要获取他 需要这样去写:

    @Value("${message.data.name}")
    private String name;
  • 相关阅读:
    Brupsuite 中插件CO2的使用
    记事本默认编码改为UTF-8
    Crackme031
    Crackme030
    Crackme029
    Crackme028
    Crackme026
    Crackme025
    Crackme024
    Crackme022
  • 原文地址:https://www.cnblogs.com/tiancai/p/8709863.html
Copyright © 2011-2022 走看看