2017-05-19 98 views
0

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

如果我使用

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; 
} 
+0

这里有什么问题。您是否无法启动应用程序,或者是否在IDE中看到一些错误消息? – pvpkiran

回答

0

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

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

现在,您要使用DataSourceConfig豆,你可以注入这样,

@Autowired 
DataSourceConfig dataSourceConfig; 

而且一旦你的目标只是做,

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