我目前在我的applications.yaml文件中具有String属性的情况下,无法创建dataSource bean。
理想情况下,仅当在application.yaml文件中设置了URL时,我才想创建dataSource bean。如果bean不存在(空或null),则不应创建。我知道这种情况会检查布尔值,但是否仍然要检查string属性为空还是null?
数据库配置文件
@Configuration
public class DatabaseConfig {
@Value("${database.url:}")
private String databaseUrl;
@Value("${database.username:}")
private String databaseUsername;
@Value("${database.password:}")
private String databasePassword;
protected static final String DRIVER_CLASS_NAME = "com.sybase.jdbc4.jdbc.SybDriver";
/**
* Configures and returns a datasource. Optional
*
* @return A datasource.
*/
@ConditionalOnProperty(value = "database.url")
@Bean
public DataSource dataSource() {
return DataSourceBuilder.create()
.url(testDatabaseUrl)
.username(testDatabaseUsername)
.password(testDatabasePassword)
.build();
}
}
Run Code Online (Sandbox Code Playgroud)
application.yml(此字段为可选)
database:
url: http://localhost:9000
Run Code Online (Sandbox Code Playgroud)