问题描述
<bean id="idFilter" class="some.package.app.filter.IdFilter" lazy-init="true">
<constructor-arg type="java.lang.String" value="${id.start}"/>
</bean>
spring在构建上下文时是否尝试解析属性${id.start}
?
我假设由于idFilter
的加载是延迟的,所以在使用该bean之前,不会尝试尝试解析属性id.start
。
对吗?
解决方法
在仔细调试代码后,我发现在创建bean定义时,即使对于懒惰的bean,也可以解析占位符。
请注意,bean定义不是bean实例化。
因此,如果未找到占位符,则所有bean都会抛出错误,无论bean懒惰还是渴望