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> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |