zoukankan      html  css  js  c++  java
  • SpringBoot的注解@Configuration @value 的区别

    @ConfigurationProperties(prefix="connection ")//与bean结合,为属性赋值通过指定类名来绑定该类的属性,支持松散语法,从属性文件获取类的属性,默认从全局配置文件中获取值;

    我们想把配置文件的信息,读取并自动封装成实体类,这样子,我们在代码里面使用就轻松方便多了

    @Component
    @ConfigurationProperties(prefix="connection")
    public class ConnectionSettings {
    
        private String username;
        private String remoteAddress;
        private String password ;
    
        public String getUsername() {
            return username;
        }
        public void setUsername(String username) {
            this.username = username;
        }
        public String getRemoteAddress() {
            return remoteAddress;
        }
        public void setRemoteAddress(String remoteAddress) {
            this.remoteAddress = remoteAddress;
        }
        public String getPassword() {
            return password;
        }
        public void setPassword(String password) {
            this.password = password;
        }
    
    }

    属性松散绑定
    表示驼峰式、下划线(_)、短横线(-)

    标准方式
    person.firstName

    方式一
    大写用-
    person.first-name

    方式二
    大写用_
    person.first_name

    三种方式,都可以使用
    推荐,属性书写方式
    PERSON_FIRST_NAME

    @value(" ")  格式  ${  }

    可以从配置文件单个获取属性值,只能取出一些简单的值,不能获取map,List等复杂类型的封装

    配置文件yml还是properties他们都能获取:

    我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@value

    如果,专门编写了一个JavaBean来和配置文件进行映射;那我们直接使用@ConfigurationProperties一次性全部获取

  • 相关阅读:
    主流数据库连接池性能比较 hikari druid c3p0 dbcp jdbc
    Dubbo 分布式事务一致性实现
    微服务实现事务一致性实例
    微服务间保持事务一致性
    海量积分数据实时排名处理方式介绍二
    Java两种方法实现循环报数
    MySQL 千万级 数据库或大表优化
    Linux 中 Nginx 重启关闭
    Linux 中 Oracle dmp 文件导入导出
    Linux 中 Oracle 数据库启动和关闭
  • 原文地址:https://www.cnblogs.com/shitulaoma/p/12464707.html
Copyright © 2011-2022 走看看