В настоящее время у меня возникли проблемы с созданием bean-компонента dataSource при условии свойства String из моего файла application.yaml.
В идеале мне хотелось бы создавать bean-компонент dataSource только в том случае, если URL-адрес установлен в моем файле application.yaml. Не следует создавать компонент, если он отсутствует (пустой или нулевой). Я знаю, что это условие проверяет логическое значение, но есть ли способ проверить, является ли строковое свойство пустым или нулевым?
DatabaseConfig.java
@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();
}
}
application.yml (это поле необязательно)
database:
url: http://localhost:9000
Подробнее здесь: https://stackoverflow.com/questions/461 ... y-or-nulll