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);
        }
    }
    
    
  • 相关阅读:
    基础字段及选项2(11)
    模型层及ORM介绍(9)
    Luogu [P3367] 模板 并查集
    Luogu [P1958] 上学路线_NOI导刊2009普及(6)
    Luogu [P3951] 小凯的疑惑
    Luogu [P2708] 硬币翻转
    Luogu [P1334] 瑞瑞的木板(手写堆)
    一步步学习如何建立自己的个性博客~~
    Android初学者—listView用法
    SQLite命令—对表插入和修改等操作
  • 原文地址:https://www.cnblogs.com/cgl-dong/p/13844814.html
Copyright © 2011-2022 走看看