我想將Jasypt庫與彈簧屬性機制集成在一起。在彈簧上下文中更新屬性文件
示例教程在這裏:http://www.jasypt.org/spring31.html作者假定用戶手動執行加密,然後只在ENC()佔位符和配置文件之間傳遞加密值。這對我來說還不夠。
我想實現給定的情景:
把這一行到文件與性的判定:
datasource.password=DEC(mysecretpassword)
開始應用
Spring框架將(使用jasypt)加密密碼並替換上述行:
datasource.password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
在其他初創公司,spring只能解密加密值(例如,使用org.jasypt.spring31.properties.EncryptablePropertyPlaceholderConfigurer
)並且文件未被修改。
我想我需要創建自己的Spring的PropertyPlaceholderConfigurer
,但我沒有看到修改文件的任何可能性。
我可以設置自定義org.springframework.util.PropertiesPersister
我的PropertyPlaceholderConfigurer
,好吧,但我仍然不知道我需要更新哪個文件(在我的春天@Configuration可能是許多屬性位置,某些屬性可以用另一個文件的值覆蓋等等。)。換句話說:我需要在屬性資源解析和合並之後注入我的(de | en)加密邏輯,但是在將值注入另一個bean之前。
感謝您對任何建議的提前解決方法。
你嘗試[BeanFactoryPostProcessor時(https://www.google.co.in/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwiuyoXT9ojLAhUOco4KHa5PBIMQFggcMAA&url=https%3A%2F% 2Fdocs.spring.io%2Fspring%2Fdocs%2Fcurrent%2Fjavadoc-api%2Forg%2Fspringframework%2Fbeans%2Ffactory%2Fconfig%2FBeanFactoryPostProcessor.html&usg = AFQjCNHeAVk4k3q6y10UpFgyvsDQeTAc0Q&sig2 = KPFxtn8CI07GmFxroWOgaQ)允許您在任何bean創建之前執行自定義邏輯。 –