首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Spring属性加载而不初始化Spring上下文

使用Spring属性加载而不初始化Spring上下文
EN

Stack Overflow用户
提问于 2020-12-23 12:04:34
回答 1查看 562关注 0票数 3

我喜欢Spring属性加载机制。您可以定义多个概要文件并使用其他配置文件覆盖或扩展属性,可以使用不同的文件类型(.properties、XML、JSON、.)要存储属性,可以使用其他属性的值来解析其自身的值,麻生。

但是要使用这些属性,您必须以某种方式初始化SpringBootTest (@SpringBootApplication或@SpringBootTest)。我想在某些库中使用这个属性加载机制,在这些库中,我不能保证加载了上下文(而且我不想加载它)。

所以,我的问题是:

我是否可以创建一个类,它使用Spring库加载属性(按需加载),就像Spring加载其属性一样?然后,其他类将使用这个类来访问属性。不需要加载注释。

我寻找这个已经有一段时间了,但我还没有找到解决办法。

如果是这样就太好了。知道解决办法。

你好,保持健康和快乐的X-妈妈!

EN

回答 1

Stack Overflow用户

发布于 2020-12-23 12:54:50

属性查找机制由接口PropertyResolver定义,由接口Environment扩展以支持配置文件,通过接口ConfigurableEnvironment进一步扩展以支持PropertySources,即通过一组属性源搜索来查找属性。

它是通过类StandardEnvironment实现的,该类定义了以下属性源:

properties

  • system环境变量

所有这些都是包org.springframework.core.env的一部分,也就是spring-core-XXX.jar文件的一部分。

application.properties文件的支持是由包org.springframework.boot.context.config中的ConfigFileApplicationListener类添加的。

该类需要包org.springframework.boot中的一个org.springframework.boot实例。

它们是spring-boot-XXX.jar文件的一部分。

因此,获得基本Spring属性支持很容易,只需创建一个StandardEnvironment对象即可。

加载application.properties文件是在Spring代码中嵌入的,如果不初始化Spring上下文,就很难做到。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65424015

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档