zoukankan      html  css  js  c++  java
  • @ConfigurationProperties + @EnableConfigurationProperties

    1、ConfigurationProperties

    在类上通过@ConfigurationProperties注解声明当前类为属性读取类。

    举例:

    @ConfigurationProperties(prefix = "jdbc")

    prefix="jdbc" 读取属性文件中,前缀为jdbc的值。

    在类上定义各个属性,名称必须与属性文件中 jdbc. 后面部分一致。

    需要注意的是,如果我们没有指定属性文件的地址,SpringBoot 默认读取 application.properties/application.yml  中的属性文件名。

    @Data
    @ConfigurationProperties(prefix = "jdbc")
    class JdbcProperties {
    
        private String url;
        private String driverClaprivate;
        private String username;
        private String password;
    }

    2、EnableConfigurationProperties

    @ConfigurationProperties 注解我们可以理解成用来把 properties 配置文件转化为 Bean 使用的,而 @EnableConfigurationProperties 注解的作用是让 @ConfigurationProperties 注解生效。

    如果只配置 @ConfigurationProperties 注解,在 IOC 容器中是获取不到 properties 配置文件转化的 Bean 的。

    那么我们如何获取我们使用了 @ConfigurationProperties 注解的类呢?

    2.1 @Autowired 注入

    @Autowired
    private JdbcProperties prop;

    2.2 构造函数注入

    private JdbcProperties prop;
    public JdbcConfig(Jdbcproperties prop){
      this.prop = prop;
    }

    2.3 声明有@Bean的方法参数注入

    @Bean
    public TestBean dataSource(JdbcProperties jdbcProperties) {
        syso(jdbcProperties.getUsername());// syso 简写
        return new TestBean;
    }

    通过上方三种方式,都可以在 JdbcProperties jdbcProperties 中直接拿到注入的数据。

  • 相关阅读:
    iOS 网络编程:socket
    Zsh和Bash,究竟有何不同
    关于微软win10 2004的更新以及wsl2 Ubuntu18.04安装
    C# 委托事件机制 订阅发布
    关于Docker理念和安装,对Visual Studio2019自带生成的DockerFile配置,以及Docker镜像的发布与拉取
    div弹框
    vs分页
    ado显示下拉
    SQL server动态拼接存储过程分页
    退役
  • 原文地址:https://www.cnblogs.com/niceyoo/p/10028949.html
Copyright © 2011-2022 走看看