我的目标是使SpringApplicationContext.xml和所有环境特定的属性文件脱离war文件,这样war文件是独立于环境的。
1.外部化属性文件:我认为我需要做这样的事情。
<property name="searchSystemEnvironment" value="true" />
<property name="locations">
<list>
<value>file:///${MY_ENV_VAR_PATH}/my.app.config.properties</value>
</list>
</property>
这里还讨论了,如何在Spring应用程序中读取系统环境变量上下文
2. 外部化Spring应用上下文.xml:我可能会使用外化配置的Spring靴功能。
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html
Q1:作为Spring Boot的新手,我不确定我是否可以安全地删除/取消选择Spring Boot附带的所有不必要的功能并将其应用于我的项目?我看到Spring Boot是针对从头开始的项目,在我的情况下,我正在从事一个成熟的项目。
问题2:外部化配置是一种反模式吗?我使用上述方法的方向是否正确?
由于我没有使用过Spring boot,我只能回答你的第二个问题。外部化配置绝对不是反模式。它增加了灵活性,简化了客户站点的(重新)部署。事实上,我说的是外部化属性,而不是上下文配置。这是我以前在tomcat中使用过的外部化属性的一个例子:
<bean name="appProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="locations">
<list>
<value>classpath:config-default/app.properties</value>
<value>file:${CATALINA_BASE}/conf/app-properties</value>
</list>
</property>
<property name="ignoreResourceNotFound" value="true" />
</bean>
第一个条目是内部的,设置默认属性。第二个条目引用一个可选的外部化文件,客户可以编辑该文件来覆盖默认属性。您也可以交付第一个文件的子集,其中包含您认为客户可以安全修改的属性。那么在每次更新中,目标环境中的设置将被保留。
我希望将concur严格用作配置源。我正在使用spring cloud Consor配置来获取配置。我正在使用git2consul将文件加载到Consor并读取它们。根据spring云文档,我在构建中添加了以下内容。格拉德尔 并在我的application.properties 我面临的问题是,预期的属性没有加载到ConfigurationProperties bean中。在ConsultProp
您可以使用ApplicationBuilder类来创建父/子ApplicationContext层次结构。 有关详细信息,请参阅“Spring Boot功能”部分中的“第4.1.4节”,“Fluent Builder API”。 9.2.1 在构建时自动展开属性 您可以使用现有的构建配置自动扩展它们,而不是硬编码在项目的构建配置中也指定的某些属性。 这在Maven和Gradle都是可行的。 9.2
我想重新绑定数据。,它正在工作。但是不能刷新所有配置。只能刷新访问过的键。我想刷新所有配置,该怎么办? http://projects.spring.io/spring-cloud/spring-cloud.html#_endpoint
我正在使用Spring 3.1.1版的应用程序中工作,现在我需要为其添加一些方面。这些方面是用aspectj语言编写的,没有注释。我已经阅读了Spring docs第8.8章,但我正在努力使其工作。 我的spring配置如下所示: 在我的pom中,是一个Maven项目,我有spring aop、aspectjrt和aspectjweaver作为依赖项。 我的问题是,当启动应用程序时,我得到了一个
我试图在Spring Boot环境中设置一个clamav病毒扫描程序。因此,我想在属性文件clamav.properties中设置主机和端口,该文件与application.properties文件一起位于我的resources目录中。看起来是这样的: 我有这门课: 它没有连接,在日志中我得到这个: 因此,这些值显然没有设置。我做错了什么?我使用的是spring boot starter web的
我正试图自动记录我的配置属性,以便为它的配置创建一个类似于spring boot附录中的html。我发现我可以在这里启用配置元数据https://docs.spring.io/spring-boot/docs/2.6.6/reference/html/configuration-metadata.html但我想要的是创建一个html页面,就像我们可以用spring rest文档为api所做的那样。