Spring将PropertyPlaceholderConfigurer属性值作为Bean定义

时间:2018-08-09 06:59:48

标签: spring

在一个bean中具有一个属性值,如下所示:

<bean id=“companyProfile” class=“com.jda.ProfileScanner”>
    ..
    <property name="profileUserAdminNotification" 
              value="${profile.user.admin.notification:true}">
    </property>
</bean>

value(rofile.user.admin.notification)来自以下属性配置:

<bean id="applicationProps" 
      class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer>
    <value>file:/opt/overrides.properties</value>  
</bean>

和其他bean:

<bean id="profile" class="com.job.Profile"  scope="prototype"
      p:name="#{T(org.apache.commons.lang.StringUtils).EMPTY}" 
      p:emailId="#{T(org.apache.commons.lang.StringUtils).EMPTY}" />

其班级:

Class Profile {
    String name,
    String emailId
}

在运行时,当我得到bean时,在此处输入代码

profile = prototypeBeanFactory.getBean("profile", Profile.class);

我看到“ user.admin.notification”(我已将第一个bean作为属性添加)附加到概要文件bean。

意思是不获取名称和emailId,而我也获取名称,emailID和user.admin.notification。

任何人都可以帮助我们理解为什么会发生

0 个答案:

没有答案