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

  • 相关阅读:
    FillForm网页表单填写插件(用于火狐浏览器,自动填表,自动表单,填写表单)
    Firefox下完整读写本地文件的方法
    failure notice
    百度奖品兑换监视程序
    javascript数组及其操作(zz)
    JMETER使用
    ubuntu安装mysql
    windows live writer写csdn博客,very good~
    用SSH在linux下安装JDK和Tomcat
    java模拟HTTP请求(集合了网上搜来的各种)
  • 原文地址:https://www.cnblogs.com/niceyoo/p/10028949.html
Copyright © 2011-2022 走看看