SpringBoot2.0.3 引用外部配置文件取不到值

@Configuration

@PropertySource(value = "classpath:jdbc.properties", encoding = "UTF-8")

@ConfigurationProperties(prefix = "jdbc")

public class DataSourceConfig {

  private String url;

  private String driverClassName;

  private String username;

  private String password;

  

  // 省略 getter setter


  @Bean

  public DataSource dataSource() {

    DriverManagerDataSource ds = new DriverManagerDataSource();

    ds.setDriverClassName(driverClassName);

    ds.setUrl(url);

    ds.setUsername(username);

    ds.setPassword(password);

    return ds;

  }

}

尝试直接使用注入 Environment 取值,还是 null;
直接写在全局的 application.properties(yml) ,然后取,也还是 null


目前通过在方法上使用 @ConfigurationProperties(prefix="mysql") 直接将自定义的 properties 属性设置到返回的对象中解决。
测试这样使用是可以正确注入的。

即文件名和路径都是正确的。


LEATH
浏览 62回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP