configurationproperties是一个未知属性

时间:2017-05-19 10:56:28

标签: mysql spring eclipse

我在理解@ConfigurationProperties的用法时遇到了问题。在我的应用程序属性文件中,所有变量“都是未知属性”,带有黄色下划线。我运行应用程序,但同样的事情发生。有没有办法将application.properties中的配置链接到我的数据源函数?

如果我使用

spring.datasource.url = jdbc:mysql://127.0.0.1/trs?useSSL=false

它工作正常,但我使用app.datasource.url它不会工作

我的application.properties文件

# Primary DataSource configuration
app.datasource.url=jdbc:mysql://127.0.0.1/trs?useSSL=false
app.datasource.username=user    
app.datasource.password=pass

我的主要.java文件

@ConfigurationProperties(prefix="app.datasource")
@Primary
@Bean
public DataSource dataSource() {
    final DriverManagerDataSource dataSource = new DriverManagerDataSource();
    dataSource.setDriverClassName("com.mysql.jdbc.Driver");
    dataSource.setUrl("jdbc:mysql://127.0.0.1/trs?useSSL=false");
    dataSource.setUsername("user");
    dataSource.setPassword("pass");
    return dataSource;
}

1 个答案:

答案 0 :(得分:0)

对于application.properties,您需要一个相应的java类来在bean中加载配置。像这样 -

@ConfigurationProperties(prefix="app.datasource")
@Component
public class DataSourceConfig{
   private String url;
   private String username;
   private String password;
...
}

现在,您想要使用 DataSourceConfig bean,您可以像这样注入,

@Autowired
DataSourceConfig dataSourceConfig; 

一旦你有了这个对象,

dataSourceConfig.getUrl();
dataSourceConfig.getUsername();
dataSourceConfig.getPassword();