zoukankan      html  css  js  c++  java
  • Spring中Properties相关注解

    1、@PropertiesSource注解

    这是Spring中的注解,用于读取属性文件,默认读取classpath下的文件。

    如在classpath路径下的a.properties中:

    desc="is a property"
    

    通过Value注解可以去到属性:

    @Component
    @PropertySource("classpath:a.properties")
    public class Config {
    
        @Value("${desc}")
        String desc;
    
      
        public void print(){
            System.out.println(desc);
        }
    }
    
    

    也可以通过@PropertiesSources注解一次读取多个配置文件。

    2、@ConfigurationProperties注解

    这是SpringBoot中的注解,使用这个注解需要一个依赖:

     <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
            </dependency>
    
    

    在application.yml下有以下属性:

    这在Bean中其实是可以直接拿到的,因为该文件自动被SpringBoot加载。

    server:
      port: 8099
    
    
    com:
      other: "通过注解获取"
    

    通过@Value注解是可以直接拿到属性的,如☆处直接拿到yml的数据。

    而◆处不需要注解,通过@ConfigurationProperties(prefix = "com")注解拿到other数据。

    当然必须要有该属性的set方法,所以这适合在JavaBean中使用。

    @Component
    @PropertySource("classpath:a.properties")
    @ConfigurationProperties(prefix = "com")
    public class Config {
    
        @Value("${server.port}") //☆
        String port;
    
        @Value("${desc}")
        String desc;
    
        String other;//◆
    
        public String getOther() {
            return other;
        }
    
        public void setOther(String other) {
            this.other = other;
        }
    
        public void print(){
            System.out.println(port+desc+other);
        }
    }
    
    
  • 相关阅读:
    Python3学习笔记27-ConfigParser模块
    Python3学习笔记26-unittest模块
    HTML学习笔记09-列表
    HTML学习笔记08-表格
    [hdu1402]A * B Problem Plus(FFT模板题)
    [bzoj2179]FFT快速傅立叶
    [bzoj3884]上帝与集合的正确用法
    [ural1132]Square Root(cipolla算法)
    MD5算法的c++实现
    DES算法的c++实现
  • 原文地址:https://www.cnblogs.com/cgl-dong/p/13844814.html
Copyright © 2011-2022 走看看