[英]How Spring invokes @Bean methods if @Configuration class contains unresolvable class refs
[英]Spring @Configuration class contains @Bean methods but how can I get execute init() first?
我在一个Spring项目上,并且具有Spring的1级技能。 我已经阅读了2天,并尝试使Jasypt加密与某些现有代码一起使用,但是传递的值是需要转换的ENC(....)值。
我要看的一个项目是一个使用main()
的自运行项目,而我所在的项目是一个被调用且不会像另一个项目那样运行的服务。
我上次使用Jasypt查看此示例Spring EnableEncryptableProperties,但过了一会儿我注意到它正在使用方法调用来拉动其属性:environment.getRequiredProperty(“ spring.datasource.username”)
该方法是从System变量中提取的,我看不出属性如何进入其中。 系统属性级别中没有我的属性文件中的所有属性。
关于如何使用application.properties
文件中的内容更新系统属性,我这里缺少什么?
另一个项目正在更新System属性,然后调用SpringApplication.run(Application.class, args)
,该项目不适用于该另一个项目,因为它不是同一类型的应用程序。
希望有一些指导。 请不要聪明地讲课。 我正在尽我所能去做,但在步骤4,而项目在步骤321,要到那儿还需要一段时间。
如果要在实际创建Spring之前执行一些代码,可以使用实现自定义BeanFactoryPostprocessor 。 这是EnvironmentPostProcessor的示例,对于您使用加密属性的情况可能很有用: example
您可以通过以下方式实现postProcessEnvironment :
我相信jasypt-starter的EncrytablePropertySource可以这种方式工作。
PS最好将默认方法与@EncrytablePropertySource一起使用,而不是使用自定义EnvironmentPostProcessor重新发明轮子。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.