问题标签 [spring-profiles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1408 浏览

java - 独家 Spring 异形 bean 和 DependsOn 注释

对我有用的代码:
数据库配置的一部分如下所示:

该配置代表两个独占 bean。一个在“dbClean”配置文件存在时创建,另一个在它不存在时创建。忍受我,忘记代码重复。

另一个配置管理 Quartz 配置:

上面的工作就像一个魅力。问题是 Quartz 配置没有使用 Flyway 自动装配 bean。它只需要在 Quartz 调度程序之前创建这个 bean。

所以理想的配置是:

数据库部分:

石英部分:

问题是最后一个配置不起作用。从未创建过任何一种flyway bean。我不知道为什么。回想起我使用 xml 配置时,我记得在不同的配置文件中可以有两个具有相同名称的 bean。它奏效了。我在这里做错了什么,或者这可能是 Spring 本身的一些错误?通常我自己调试 Spring,但带有 @Configuration 逻辑的 Spring 部分对我来说是一个绿色文件,我现在不能在上面浪费时间。

0 投票
4 回答
2014 浏览

java - 如何在春季自动装配具有特定配置文件的实施者?

让我用代码演示一下:

我如何动态地(在每个到达的请求上)使 spring 根据它们的配置文件自动装配上述类之一?甚至可以在接线时做这样的事情吗?

背景:我正在寻求一种实现服务器端版本控制机制的好做法。如果请求属于版本“V1”,我想用“V1”配置文件自动装配一个类,反之亦然。(目前我正在自动装配一个列表并迭代它们以找到合适的版本)。

0 投票
1 回答
1377 浏览

spring - Spring 配置文件:无法自动装配存储库 bean

尝试使用我创建的一些 Spring 配置文件运行 JUnit 测试时遇到问题。实际上,配置文件确实可以正常工作,但无法自动装配的存储库 bean 除外。

这是我在 spring-integration-context.xml 中用于配置持久性的代码片段:

所以我认为用“beans profile”元素包装整个持久性配置就足够了。

现在,从我的 JUnit 测试类:

然后我用以下方法注释我的 ApplicationTest 类:

@ImportResource("classpath:/META-INF/spring/integration/spring-integration-context.xml")

但是当我运行测试时,我得到以下异常:

请注意,在我的测试类中,ScheduleLoader 以前是自动装配的,实际上该 bean 也在开发配置文件中。如果我尝试在没有 @ActiveProfiles("dev")注释的情况下运行测试,那么ScheduleLoader failed autowiring 会抛出异常,正如预期的那样(因为它仅在 dev 配置文件中)。

那么弹簧配置文件和我的持久性配置有什么问题?

PD:我已确保我的存储库和实体类在其中

guiatv.persistence.*

包裹。

顺便说一句,我使用的是 Spring Boot,所以我还尝试通过在 application.properties 文件中添加spring.profiles.active=dev而不是编写 @ActiveProfiles("dev") 注释来使其工作。

更新

此外,如果我尝试删除每个“beans profile”元素,以便每个组件都是根“beans”元素的子元素,那么无论没有 @ActiveProfiles("dev") 注释或 @ActiveProfiles( “默认”)注释。

0 投票
1 回答
491 浏览

java - 根据配置文件加载spring xml配置

我知道我可以像这样从 xml 文件加载应用程序上下文:

但就我而言,这无关紧要。

applicationContext.xml我使用配置文件里面。

如何根据配置文件加载上下文?

0 投票
1 回答
2987 浏览

spring - 使用 Spring 配置文件启用/禁用 web.xml 过滤器

我有一个可以使用两种不同持久性 API 的 Spring 应用程序:

  • 春季数据 JPA
  • 春季数据 Neo4j

使用 Spring Data JPA 时,我需要在“web.xml”中声明“OpenEntityManagerInViewFilter”来进行延迟加载:

问题是我在使用 Spring Data Neo4j 时无法启用此过滤器。保持启用会导致以下运行时错误:

我想选择与 Spring 配置文件一起使用的数据库(例如spring.profiles.active=relational-databasespring.profiles.active=graph-database)。

问题:当配置文件是“关系数据库”时如何启用“OpenEntityManagerInViewFilter”,当配置文件是“图形数据库”时禁用它?

谢谢!

相关问题:

0 投票
1 回答
1129 浏览

java - 配置文件不存在时的默认 Spring bean

我正在使用 Spring MVC 控制器,并且我想在开发过程中提供一些额外的请求映射方法。我可以使用 Spring 配置文件来做到这一点:

但理想情况下,我宁愿不要用引用“开发”配置文件的注释来污染生产类的代码。

我认为也许可以使用 Primary 注释,但我无法让它工作。 这篇文章似乎说这应该有效:

但是当我这样做时,Spring 会在“dev”配置文件下启动时尝试加载两个控制器,但失败并显示

我想做的事可能吗?如果是这样,我该怎么做?

0 投票
2 回答
74 浏览

xml - 创建 Spring 配置文件时出错

我收到错误消息:

我只是用数据源创建一个本地弹簧配置文件,但不知道我需要包含什么。

我的命名空间配置包括:

发生错误的原因是:<beans profile="local"></beans>

0 投票
2 回答
682 浏览

java - Spring 属性如何查找/优先级工作?

我已经和这个斗争了一段时间了。我用谷歌搜索并尝试了一些东西,但我发现的一切都无法解决我的问题。

这就是我的属性位置。

然后,在我的一个子项目中,我有 2 个属性文件,我的“生产”属性在

src/main/resources/com/lala/project/subproject1/subprojectA/configuration/myProperties.properties

和我的“测试”属性

src/test/resources/com/lala/project/subproject1/subprojectA/test/configuration/myProperties.properties

显然,这些文件具有几乎相同的属性名称,但具有不同的值。我想知道的是为什么我在 subprojectA 中的测试不断选择我的“生产”属性而不是我的“测试”属性?换句话说,为什么 spring 不拿起我的“测试”属性并覆盖我的“生产属性”?

我忘了提到我不能简单地删除我的测试配置文件的“生产”属性位置,因为我需要来自其他项目、子项目的生产属性。

0 投票
2 回答
6665 浏览

spring - 如何将配置文件激活为环境变量

我在我的 spring boot 应用程序中使用 spring 配置文件配置环境变量。我在那里做了配置

我的界面是

我的开发配置是

和我为生产环境配置的一样

现在我使用运行配置->agruments 在 eclipse 中配置环境变量

引导应用程序

现在,当我尝试运行我的应用程序时,出现错误:

所以请帮助我在那里我错过了什么?

提前致谢!

0 投票
6 回答
16211 浏览

spring-boot - Spring Boot 以编程方式设置配置文件

如何在 Spring Boot 应用程序中设置活动配置文件。此应用程序将部署在独立的 Tomcat 中。

我有 2 个属性文件 application-{profile}.properties。

我的应用类

如果我使用嵌入式 tomcat 运行应用程序,则开发配置文件设置为活动状态并且工作正常。但是当我部署在独立的tomcat中时。这没用。

我试图在配置方法中设置活动配置文件。但是当我从上下文中获取环境时,我得到空指针异常。

有关如何设置活动配置文件的任何帮助。