Я пытаюсь изменить настройку источника данных из командной строки. У меня есть application.properties с настройками по умолчанию. Я хотел бы изменить параметры в файле из командной строки, но когда я передаю аргументы источника данных, я получаю сообщение об ошибке. Я прочитал в документе Externalized Configuration: «Доступ к свойствам командной строки
По умолчанию SpringApplication преобразует любые аргументы параметра командной строки (то есть аргументы, начинающиеся с -, например, --server.port = 9000) в свойство и добавляет их в среду Spring. Как упоминалось ранее, свойства командной строки всегда имеют приоритет над другими источниками свойств ".
Я предполагал, что аргументы перезаписывают настройки по умолчанию в application.properties, но я пропускаю некоторые шаги по этому поводу.
Я пробовал без spring.datasource.url или Заполнителей в Свойствах. Ниже приложение. Свойства.
spring.datasource.url = jdbc:oracle:thin:@servername:port:DB11G
#spring.datasource.url = ${spring.datasource.url}
spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver
spring.datasource.username = dbUser
spring.datasource.password = password
Мое приложение с настройками источника данных по умолчанию работает хорошо.
это мой код:
spring.datasource.url = ${db.url}
spring.datasource.driver.class=oracle.jdbc.driver.OracleDriver
spring.datasource.username = dbUser
spring.datasource.password = dbPassword
Основной класс
@SpringBootConfiguration
public class IdsFeApplication implements ApplicationRunner{
private static final String FEC_CODEX = "A";
@Autowired
private static ConfigInfoDB infoDb;
@Autowired
private Login fec;
public static void main(String[] args) throws InterruptedException {
SpringApplication bootApp = new SpringApplication(IdsFeApplication.class);
bootApp.setBannerMode(Banner.Mode.OFF);
bootApp.setLogStartupInfo(false);
ConfigurableApplicationContext context = bootApp.run(args);
ConfigInfoDB db=context.getBean(ConfigInfoDB.class);
db.dbInfo();
}
@Override
public void run(ApplicationArguments args) throws Exception {
// TODO Auto-generated method stub
fec.token(FEC_CODEX);
}
}