Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在spring上下文加载期间更新属性文件_Java_Spring_Jasypt_Property Placeholder - Fatal编程技术网

Java 在spring上下文加载期间更新属性文件

Java 在spring上下文加载期间更新属性文件,java,spring,jasypt,property-placeholder,Java,Spring,Jasypt,Property Placeholder,我想将Jasypt库与spring属性机制集成在一起 在这里的示例教程中:作者假设用户手动执行加密,然后只将ENC()占位符之间的加密值传递给配置文件。这对我来说还不够 我希望实现给定的场景: 将此行与属性一起放入文件: datasource.password=DEC(mysecretpassword) 启动应用程序 Spring Framework将加密密码(使用jasypt)并将上面的行替换为: datasource.password=ENC(G6N718UuyPE5bHyWKyuLQS

我想将Jasypt库与spring属性机制集成在一起

在这里的示例教程中:作者假设用户手动执行加密,然后只将ENC()占位符之间的加密值传递给配置文件。这对我来说还不够

我希望实现给定的场景:

  • 将此行与属性一起放入文件:

    datasource.password=DEC(mysecretpassword)
    
  • 启动应用程序

  • Spring Framework将加密密码(使用jasypt)并将上面的行替换为:

    datasource.password=ENC(G6N718UuyPE5bHyWKyuLQSm02auQPUtm)
    
  • 在进一步的启动中,spring仅解密加密值(例如使用
    org.jasypt.spring31.properties.EncryptablePropertyPlaceHolderConfigure
    ),并且不修改文件

    我想我需要创建自己的Spring的
    属性PlaceHolderConfigure
    ,但我看不到任何修改文件的可能性

    我可以将自定义
    org.springframework.util.PropertiesPersister
    设置为我的
    propertyPlaceHolderConfigure
    ,好吧,但我仍然不知道需要更新哪个文件(在我的spring@配置中可能有许多属性位置,一些属性可以用另一个文件的值覆盖,等等)

    换句话说:在属性资源解析和合并之后,但在将值注入另一个bean之前,我需要注入我的(de | en)加密逻辑


    感谢您提前提供如何解决此问题的建议。

    这是一个老问题,我在jira中找到了一个解决方案,但现在找不到。无论如何,这是一个非常类似的解决方案,通过这种方式,您可以在加载数据源bean之前“告诉”fw加载您的propertiesPlaceHolder文件。

    我用在jira中找到的解决方案解决了一个老问题,但我现在找不到它。无论如何,这是一个非常类似的解决方案,通过这种方式,您“告诉”fw在加载数据源bean之前加载您的propertiesPlaceHolder文件。

    您是否尝试过允许您在任何bean创建之前执行自定义逻辑。您是否尝试过允许您在任何bean创建之前执行自定义逻辑。