2017-05-19 32 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();