Мне нужно использовать свойства конфигурации вне моей фляги.Для этого я использую класс для настройки:
@Data
@Configuration
@PropertySource(value={"file:///C:/main.properties"})
public class YAMLConfig {
@Bean
@ConfigurationProperties(prefix = "datasource.db-prod")
public DataSource personDataSource() {
return DataSourceBuilder.create().build();
}
private String name;
private String environment;
private String datasource;
private List<String> servers = new ArrayList<>();
// standard getters and setters
Мои main.properties отлично работают, когда я использую внутри своей программы.Но я хочу, чтобы это было снаружи, потому что я хочу изменить, когда захочу.
Мой класс Spring:
@SpringBootApplication
@EnableEncryptableProperties
public class PsuInfoToolApplication {
@Autowired
private static YAMLConfig config;
public static void main(String[] args) {
SpringApplication.run(PsuInfoToolApplication.class, args);
}
Но это не работает, кажется, файл не настраивает dataSource: java.sql.SQLException: URL не может быть нулевым
Как я могу это сделать?Я хочу создать конфигурационный файл вне моего jar-файла и использовать его для конфигурации базы данных напрямую, используя объект DataSource.