因此,Spring Boot会自动加载application.properties并使其属性可用于ApplicationContext,因此XML-Bean-Definitions可以使用它们。 但是我找不到将这些属性“暴露”给Child-Contexts的方法。我必须在每个Childcontext中为PropertyPlaceholder定义一个Bean,以便从类路径中手动加载application.properties。
有没有办法将属性提供给ChildContext,以便在使用时自动解析它们?我不想在子上下文中加载.properties-File。
基本上我用
创建父子关系new SpringApplicationBuilder(Application.class).child(BaseApplication.class).run();
如果我有一个application.properties(在应用程序模块中定义),其属性名为username = XXX,我当然可以在Application-Module中访问此属性。 但是,如果我在Child-Context(BaseApplication)中有一个Beandefinition,那么让我们说:
<bean id="beanB" class="com.example.nsm.BeanB" >
<constructor-arg index="0" value="${username}"/>
<constructor-arg index="1" value="${password}"/>
</bean>
属性未解析。我必须使用
从类路径手动加载application.properties <bean
class="org.springframework.context.support.PropertySourcesPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:application.properties</value>
</list>
</property>
</bean>
然后他们就解决了。
事实上,我不想加载这样的属性。 来自父级的Beandefinitions对于Child是可见的,但属性不是?为什么不?这是故意的吗?如果没有,可以修复吗?