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);
        }
    }
    
    
  • 相关阅读:
    如何通过Restful API的方式读取SAP Commerce Cloud的Product图片
    Permute Digits
    Browser
    Jamie and Alarm Snooze
    Perfect Squares
    Color the ball
    Stars
    1086. Tree Traversals Again (25)
    1085. Perfect Sequence (25)
    1083. List Grades (25)
  • 原文地址:https://www.cnblogs.com/cgl-dong/p/13844814.html
Copyright © 2011-2022 走看看