我在理解@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;
}
答案 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();