Я следовал руководству по шифрованию пароля файла application.properties, но не могу заставить его работать.
Я поставил зависимость jasypt-spring-boot, класс конфигурации и класс обслуживания.
вот моя зависимость в pom.xml:
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot</artifactId>
<version>2.0.0</version>
</dependency>
Мой файл application.properties:
spring.datasource.url=jdbc:mysql://localhost:3306/virtualschool2?
serverTimezone=UTC
spring.datasource.username= root
spring.datasource.password=ENC(XgGZCA/2CA3k0+GZOkwjLQvwJaDMM/FE)
spring.jpa.properties.hibernate.dialect =
org.hibernate.dialect.MySQL5InnoDBDialect
spring.jpa.hibernate.ddl-auto=validate
spring.jpa.hibernate.naming.physical-
strategy=org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl
spring.mvc.view.prefix=WEB-INF/jsp/
spring.mvc.view.suffix=.jsp
spring.session.jdbc.initialize-schema=always
здесь мой класс конфигурации:
@Configuration
@EncryptablePropertySource("spring.datasource.password")
public class AppConfigForJasyptSimple {
}
вот мой класс обслуживания:
@Service
public class PropertyServiceForJasyptSimple {
@Value("${spring.datasource.password}")
private String property;
public String getProperty() {
return property;
}
}
А есть этот метод, который я не знаю, куда поставить? :
@Test
public void whenDecryptedPasswordNeeded_GetFromService() {
System.setProperty("jasypt.encryptor.password", "password");
PropertyServiceForJasyptSimple service = appCtx
.getBean(PropertyServiceForJasyptSimple.class);
assertEquals("kikit31t", service.getProperty());
}
Сообщение об ошибке в консоли: Accus refusé pour l'utilisateur: 'root' @ '@ localhost' (mot de passe: OUI)