在application.properties文件

时间:2019-11-09 11:04:34

标签: spring jasypt

我遵循了一个教程来加密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());
}

控制台中的错误消息: 帐户拒绝使用:'root'@'@ localhost'(密码:OUI)

0 个答案:

没有答案