当前位置: 首页 > 知识库问答 >
问题:

如何从Spring配置中读取属性片段[duplicate]

包承望
2023-03-14

是否可以通过@Value(Spring 5)读取数组的片段?

比如:

输入数据。属性:

list.numbers=1,2,3

阅读

@Value("${list.numbers[0]}")
int firstNumber;

输出

firstNumber=1

共有2个答案

尹小云
2023-03-14

很久以前,我已经使用了带有XML配置的bean注入,您可以阅读那篇博客文章,并使用sping-coresping-beansping-interent-support依赖关系。

在下面,您可以找到带有

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="song1" class="org.kodejava.spring.core.Song">
        <property name="title" value="I Saw Her Standing There" />
        <property name="writer" value="Beatles" />
    </bean>

    <bean id="song2" class="org.kodejava.spring.core.Song">
        <property name="title" value="Misery" />
        <property name="writer" value="Beatles" />
    </bean>

    <bean id="song3" class="org.kodejava.spring.core.Song">
        <property name="title" value="Anna (Go to Him)" />
        <property name="writer" value="Beatles" />
    </bean>


    <bean id="album" class="org.kodejava.spring.core.Album">
        <property name="title" value="Please Please Me" />
        <property name="year" value="1963" />
        <property name="songs">
            <list>
                <ref bean="song1" />
                <ref bean="song2" />
                <ref bean="song3" />
            </list>
        </property>
    </bean>

</beans>

尚楚
2023-03-14

可以拆分并获取第一个元素。

@Value("#{'${list.numbers}'.split(',')[0]}")
int firstNumber;
 类似资料:
  • 问题内容: 我正在尝试从我的wildfly配置文件夹中的属性文件中读取特定于部署的信息。我尝试了这个: 但是显然这不起作用,因为配置文件夹不再位于类路径中。现在我找不到一种简单的方法。我最喜欢的是这样的: 到目前为止,我在网上找到的唯一解决方案是制作自己的OSGi模块,但是我相信必须有一种更简单的方法来实现(一个没有OSGi!)。谁能告诉我如何? 问题答案: 如果要从配置目录(例如或)中显式读取文

  • 我目前在spring boot 2.3中有以下实现。但当我将其迁移到spring boot 2.4时。未从配置服务器读取属性。 密码 bootstrap.yml 应用yml公司 application.yml配置服务器 这个实现在spring boot 2.3中运行良好。但是在升级到spring boot 2.4之后,在启动时出现了以下错误。

  • 我正在使用Java的发送SMS。我已经加载了log4j jar文件,并将文件放置在正确的位置,但它仍然无法读取它,并得到以下异常: 例外文本:

  • 我在Scala中使用Spring Boot。我想通过@ConfigurationProperties注释读取带有Scala类型的case类的属性。我已经知道我将无法注释Scala case类,因为Spring Boot不支持基于构造的属性注入。但至少我希望将集合(列表和映射)从配置映射到基于Scala的类型。这样我就可以编写一个配置类: 并编写一个配置文件application.yml如下: 这有

  • 我有一个实用工具类,其中我有一个方法,它需要用户名和密码来连接其他URL。我需要将用户名保存在属性文件中,这样我就可以随时更改它。但当我在静态方法中使用它(作为实用程序类)时,问题是它显示为空(即它不能从属性文件中读取)。 但当我在其他控制器中输入这些值时,它们就会到达那里。所以我的问题是如何读取静态字段中的属性值

  • 问题内容: 我在jpa中使用了hibernate模式,并且使用persistence.xml进行了配置。是否可以从Web应用程序获取hibernate连接属性? 谢谢。 问题答案: 可能并非没有反射,而是依靠Hibernate在将来不会破坏您的代码。您需要从SessionFactory获取属性,但是它不是公开的,因此您必须通过反射找到Field,然后使用field.setAccessible获取对