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 中直接拿到注入的数据。

  • 相关阅读:
    你是怎么把字符串“2016-11-16” 变为 “16/11/2016” 的?
    js-------》(小效果)实现倒计时及时间对象
    Ruby方法
    JAVASCRIPT事件详解-------原生事件基础....
    html5的小知识点小集合
    原生js实现的效果
    IDEA 实用功能Auto Import:自动优化导包(自动删除、导入包)
    8.SpringBoot 模板引擎 Thymeleaf
    7.SpringBoot 之 Web
    6.日志的使用
  • 原文地址:https://www.cnblogs.com/niceyoo/p/10028949.html
Copyright © 2011-2022 走看看