我想将 Jasypt 库与 spring 属性机制集成。
在此处的示例教程中:http ://www.jasypt.org/spring31.html作者假设用户手动执行加密,然后仅将 ENC( ) 占位符之间的加密值传递给配置文件。这对我来说还不够。
我想实现给定的场景:
将此行放入带有属性的文件中:
datasource.password=DEC(mysecretpassword)
开始申请
Spring Framework 将加密密码(使用 jasypt)并将上面的行替换为:
datasource.password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
在进一步的启动中,spring 只解密加密的值(例如使用org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer
)并且文件不被修改。
我想我需要创建自己的 Spring PropertyPlaceholderConfigurer
,但我看不到任何修改文件的可能性。
我可以将自定义设置org.springframework.util.PropertiesPersister
为我的PropertyPlaceholderConfigurer
,好吧,但我仍然不知道我需要更新哪个文件(在我的春天@Configuration 可能有很多属性位置,一些属性可以用另一个文件中的值覆盖等)。
换句话说:我需要在属性资源解析和合并之后注入我的(de|en)加密逻辑,但在将值注入另一个 bean 之前。
感谢您提前提供任何解决此问题的建议。