Я использовал для завершения выборки из Spring Data ...
Хорошо работает.
Я добавил application.properties
#spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.url=jdbc:h2:file:./h2/demo
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=wrong
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
Я работал (по-видимому, при первом запуске он создает базу данных с любым определенным паролем).
Когда я изменил пароль на newWrong
, он начал работать не так, как ожидалось (поэтому я подтвердил, что проверяет пароль).
Теперь я изменил файл свойств, чтобы он содержал
spring.datasource.password=#{systemProperties['pass']}
, и изменил основной AccessingDataJpaApplication
на:
public static void main(String[] args) {
System.setProperty("pass", "wrong" );
SpringApplication.run(AccessingDataJpaApplication.class);
}
, и он не работает - все еще жалуюсь на пароль.
С другой стороны, когда я добавил
@Value("${bar}")
String foo;
и определил в свойствах приложения (и использовал wrong
для пароля, чтобы предотвратить сбой)
bar=#{systemProperties['pass']}
это утверждение в классе приложения
System.out.println("foo: " + foo);
печатает foo: wrong
.
Почему то же самое не работает для свойства spring.datasource.password
?