• Spring读取Properties配置文件


     一、application.properties 配置文件

      ①:用Spring容器获取Environment变量,然后getProperty获取到配置的value

        ConfigurableEnvironment environment = context.getEnvironment(); 
        String name = environment.getProperty("name");

      ②:@Value注解

        使用@Value("${key}"

      ③:@ConfigurationProperties

        @ConfigurationProperties注解有一个prefix属性,通过指定的前缀,绑定配置文件中的配置,如:

    @Component
    @ConfigurationProperties(prefix = "global.jdbc")
    public class GlobalProperties {
        private String url;
        private String driver;
        private String username;
        private String password;
    
        ...getter/setter
    }

     二、自定义properties 配置文件

      ①:@PropertySource + @Value("${key}") 

        @PropertySource :使用@PropertySource读取外部配置文件中的k/v保存到运行的环境变量Environment中;

        如:@PropertySource("classpath:mysql.properties")

        取值方式:

          ①:使用@Value("${key}"

          ②:也可以用Spring容器获取Environment变量,然后getProperty获取到配置的value

            ConfigurableEnvironment environment = context.getEnvironment(); 
            String name = environment.getProperty("name");

      ②:自行直接读取配置文件的值并缓存

    public class PropertiesUtil {
    
        private static final Logger LOGGER = LoggerFactory.getLogger(PropertiesUtil.class);
    
        private PropertiesUtil() {
        }
    
        private static final Properties PROPERTIES = readProperties("config.properties", "talos.properties");
    
        private static Properties readProperties(String... confFile) {
            final Properties properties = new Properties();
            try {
                for (String path : confFile) {
                    final ClassPathResource resource = new ClassPathResource(path);
                    properties.load(new InputStreamReader(resource.getInputStream(), StandardCharsets.UTF_8));
                }
            } catch (IOException e) {
                LOGGER.error(e.getMessage(), e);
            }
            return properties;
        }
    
        public static String get(String key) {
            return PROPERTIES.getProperty(key);
        }
    }

    END.

  • 相关阅读:
    solidity 学习笔记(5)接口
    solidity 学习笔记(4)library库
    以太坊开发教程(二) 利用truffle发布宠物商店 DAPP 到 以太坊测试环境Ropsten
    以太坊开发教程(一) truffle框架简介/安装/使用
    软分叉/硬分叉/重放攻击/重放保护
    linux安装node.js
    jq获取元素偏移量offset()
    js:把字符串转为变量使用; js下将字符串当函数去执行的方法
    JS中json数组多字段排序方法(解决兼容性问题)(转)
    javascript之取余数、去商、天花板取整、地板取整
  • 原文地址:https://www.cnblogs.com/yangyongjie/p/15830280.html
Copyright © 2020-2023  润新知