Пружинный ботинок. Запуск сценариев SQL и получение данных при запуске приложения

Я разрабатываю приложение spring boot. На данный момент некоторые из моих конфигураций жестко закодированы (например, свойства Hystrix).

поэтому я хотел бы получить эти конфигурации во время запуска приложения или сразу после этого.

можно ли это сделать с помощью spring boot? Я имею в виду запустить SQL-скрипт при запуске и получить данные.

Как свойства / конфигурации должны быть получены и сохранены в моем приложении?

Я использую MyBatis и Oracle ДЕЦИБЕЛ.

1 ответов


по умолчанию, Spring-Boot loads data.sql и/или data-${platform}.sql.

Однако имейте в виду, что скрипт будет загружаться при каждом запуске, поэтому я думаю, что имеет смысл (по крайней мере, для производства) просто иметь значения, уже присутствующие в базе данных, а не вставляться повторно при каждом запуске. Я лично использовал инициализацию базы данных только для целей тестирования / dev при использовании базы данных памяти. тем не менее, это функция, предоставляемая Spring-Boot.

источник: spring-boot-howto-база данных-инициализация:

Spring JDBC имеет функцию инициализатора источника данных. Ботинок весны включает он по умолчанию и загружает SQL из стандартной схемы местоположений.sql и данные.sql (в корне пути к классам). Кроме того весной загрузки загрузите схему - ${platform}.sql и данные - ${platform}.файлы sql (если настоящий.)

src / main / resources/data-oracle.в SQL:

insert into...
insert into...
  • вы можете определить платформу с: spring.datasource.platform=oracle.
  • вы можете изменить имя сценария sql для загрузки с помощью:spring.datasource.data=myscript.sql.
  • вместе с данными.sql, Spring-boot также загружает схему.sql (перед данными.язык SQL.)
  • у вас также может быть логика "обновить или вставить" в ваши данные.в SQL: oracle sql: обновить, если существует еще вставить