问题标签 [spring-properties]
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.
java - 从属性文件中读取列表并使用弹簧注释@Value 加载
我想在 .properties 文件中有一个值列表,即:
并直接将其加载到我的班级中,即:
据我了解,这样做的另一种方法是将它放在 spring 配置文件中,并将其作为 bean 引用加载(如果我错了,请纠正我),即
但是有没有办法做到这一点?使用 .properties 文件?ps:如果可能的话,我想在没有任何自定义代码的情况下做到这一点。
java - Spring @Value 没有解析为属性文件中的值
我以前在其他项目中也有过这个工作,我只是在重新做同样的事情,但由于某种原因它不起作用。Spring@Value
不是从属性文件中读取,而是从字面上获取值
AppConfig.java
应用程序上下文.xml:
appconfig.properties
在我的控制器中,我有:
应用程序启动得很好,但是当我这样做时
它返回
它不会解析为属性文件中的值。
想法?
java - Spring @Value("${}") 经常为空
我正在使用 Spring Boot 应用程序。在某些@Component
类@Value
字段中加载,而不是在其他类中它们始终是null
.
似乎(s)是在我的/创建@Value
之后加载的。@Bean
@Component
我需要从我的@Bean
.
你有什么建议吗?
java - messageSource.getMessage 发送 IllegalArgumentException:模式中的大括号不匹配
我使用 spring MessageSource 从我的本地化属性文件中获取消息。
在这种情况下,我在将邮件发送给用户之前使用它来创建邮件:
这是 message.properties 中的属性
所以在这里,我们有两种messageSource.getMessage的用法。第一个有效,第二个抛出 IllegalArgumentException:模式中的不匹配大括号。
我试图更改消息,更改/删除变量,删除引号和双引号,将属性移动到 message.properties 文件中的其他位置,但我总是得到同样的错误
spring - 与 Spring Cloud Config 共享属性
我们正在考虑迁移我们的 Spring 系统以使用 Spring Cloud Config。
该系统由多个服务和一些用于公共资源(如数据库数据源)的共享属性组成。对于这些,我们有一个“基本”配置文件,其中包含一个地方的常用属性。每个服务首先读取公共文件,然后在顶部重载它们的属性文件。这节省了我们重复公共属性的时间。
我看不到我们如何使用 spring cloud config 做同样的事情,我可以看到不同存储库的选项,但不会重载属性文件。
java - Spring 4.x 的自定义属性管理
我的自定义非常简单,我在可部署的 war 文件中打包了一些属性文件,我希望在我的 web 服务器机器上有一个本地属性文件,以在重叠的情况下覆盖这些属性。为此,我实现了 ApplicationContextInitializer 接口,加载了我的本地属性文件并使用了我的环境的 addFirst 方法。这确保了我的本地文件覆盖了我的战争中打包的属性文件。
这非常有效。现在我想在 java-spring 进程(不是网络应用程序)中做同样的事情,我该怎么做?
到目前为止,我发现的最佳解决方案是在我的配置类中添加一个方法并使用@PostConstruct注释对其进行注释。这个方法和 ApplicationContextInitializer 的初始化方法完全一样。
这个解决方案不能满足我的需求,因为我有一些有条件地加载的 bean,并且这(条件注释代码)发生在我的 @postConstruct 方法之前(这不好,因为条件加载基于我的属性)。
spring-boot - @Value 始终为空
我有一种情况,我尝试使用 @Value 注释导致值为空。
这是一个大型项目的一部分,我不确定需要它的哪些部分。我正在使用 Java 注释(没有 xml 文件)和 Spring boot。
application.properties 包含:
我确实尝试创建一个 PropertySourcesPlaceholderConfigurer,正如一些网站提到的那样。
这是尝试使用它的类:
但是在运行时,maxFileUploadSize 始终为空。请注意下面的调试注释,其中 PropertySourcesPropertyResolver 似乎在 application.properties 文件中找到了正确的值。
java - 创建具有不同属性的同一类的多个 bean 的最干净的方法
假设我有这个属性文件:
我想要一个包含学生地图的 xml bean,其中学生的名字作为键。
对象示例:
学生.java
课堂.java
我正在寻找一种方法,可以说,从属性 students.bill.* 创建一个学生 bean 并将其添加到教室 bean 地图中。然后为students.jim.*制作一个并将其添加到教室bean地图中。我真的不想为每个学生创建一个 bean,然后将每个值都放入其中。
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 不拿起我的“测试”属性并覆盖我的“生产属性”?
我忘了提到我不能简单地删除我的测试配置文件的“生产”属性位置,因为我需要来自其他项目、子项目的生产属性。
java - Spring读取属性文件但值为空
我真的不明白这里的问题。我正在尝试在我的 Spring 应用程序中使用属性文件。该文件似乎已被读取,但如果我尝试读取这些值,我会得到空值。
这是我的上下文 xml 的(部分):
我在 src/main/resources 下有我的 test.properties
当我尝试像这样运行它时:
输出将是:
所以我认为除了系统属性之外,我应该在“propertySources”中看到一些东西,对吗?
此外,如果我将 xml 行更改为:
我得到一个 FileNotFound 异常,这意味着文件本身已加载?那么为什么我不能从中加载属性呢?
在 test.properties 我只有这个:
这里可能是什么问题?