当前位置: 首页 > 知识库问答 >
问题:

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

廖诚
2023-03-14

我想把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.EncryptablePropertyPlaceHolderConfigureer),文件不被修改。

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

感谢您的任何建议,如何解决这一问题。

共有1个答案

庾勇军
2023-03-14

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

 类似资料:
  • 我在尝试添加

  • servlet 可以通过名字将对象属性绑定到上下文。同一个 Web 应用内的其他任何 servlet 都可以使用绑定到上下文的任意属性。以下 ServletContext 接口中的方法允许访问此功能: setAttribute getAttribute getAttributeNames removeAttribute 分布式容器中的上下文属性 在 JVM 中创建的上下文属性是本地的,这可以防止从

  • 问题内容: 我对使用Spring应用程序的属性文件中的值进行写入/更新时有一些要求。 我已经用谷歌搜索过,但是我没有找到使用Spring的直接方法。 是否有人知道该怎么做或是否有最佳方法。 提前致谢。 问题答案: 您可以这样实现: 资源 编辑:使用来自org.springframework.Util的defaultPropertiesPersiter更新

  • 我无法加载位于jar (project.service.jar)中的db.properties,它被war文件(project-web.war)引用。输出war将jar放在we b-INF/lib/project . service . jar中。rest war也使用jar,它使用jar中的一些服务。当战争开始时,我无法加载位于服务的jar文件中的db.properties。prop文件具有要在

  • 问题内容: 我希望对我在Spring中涉及到属性文件的问题有所帮助。所以我的设置是这样的: opto-mapping.properties –该文件位于我的src文件夹中,其中包含针对我的优化资源的翻译,如下所示: 每次运行“优化”构建时,都会更新此属性文件。然后我用 将属性文件导入所需的jsp中。然后通过使用以下内容引用内容: 除了属性文件需要重新启动tomcat重启外,所有这些工作都很漂亮。我

  • 我需要从spring boot war外部加载application.properties文件,该文件将部署在Tomcat中。 我试过各种解决方案,遗漏了一些东西 > 尝试在windows中设置环境变量,如下所示 尝试将上下文参数设置为tomcat,如下文所述,请回答https://stackoverflow.com/A/44697239/2751962 尝试在扩展SpringBootServle