加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在Spring EL中引用当前bean的属性

发布时间:2020-12-14 16:46:17 所属栏目:Java 来源:网络整理
导读:我想从一个类中创建一些bean,所有这些bean都将在当前应用程序上下文中实例化,每个都基于属性文件中的前缀属性.我举了一个我想要实现的例子.任何关于如何在没有过多代码(例如,没有多个类别,复杂的工厂等)下执行此操作的提示将不胜感激. XML配置: bean id="be
我想从一个类中创建一些bean,所有这些bean都将在当前应用程序上下文中实例化,每个都基于属性文件中的前缀属性.我举了一个我想要实现的例子.任何关于如何在没有过多代码(例如,没有多个类别,复杂的工厂等)下执行此操作的提示将不胜感激.

XML配置:

<bean id="bean1" class="Mybean">
    <property name="prefix" value="bean1"/>
</bean>

<bean id="bean2" class="Mybean">
    <property name="prefix" value="bean2"/>
</bean>

<bean id="bean3" class="Mybean">
    <property name="prefix" value="bean3"/>
</bean>

属性文件:

bean1.name=alfred
bean2.name=bobby
bean3.name=charlie

类:

class Mybean {
    @Value("${#{prefix}.name}")
    String name;
}

主要类别:

public class Main {
    @Autowired
    List<MyBean> mybeans;
}

解决方法

您可以使用PropertyPlaceholderConfigurer直接设置bean的名称(而不是存储其前缀):
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="app.properties"/>
</bean>

<bean id="bean1" class="Mybean">
    <property name="name" value="${bean1.name}"/>
</bean>

<bean id="bean2" class="Mybean">
    <property name="name" value="${bean2.name}"/>
</bean>

<bean id="bean3" class="Mybean">
    <property name="name" value="${bean3.name}"/>
</bean>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读