Skip to content

4. Integeration With SPEL

王宇轩 edited this page Dec 7, 2016 · 5 revisions

Spring SPEL集成

由于ConfigGroup是Map的实现类,在SPEL表达式的支持范围中,可以直接使用#{systemProperties.myProp}的格式在XML文件或@Value中将属性值注入到bean中.

SPEL同样无法获取热更新的特性.

旧util properties用法:

<util:properties id="configToolkitCommon" location="classpath:config-toolkit.properties" />

Config-toolkit支持:

<config:profile connect-str="localhost:2181" root-node="/projectx/modulex" version="1.0.0"/>
<config:group id="groupProp" node="group"/>

注入到XML

<bean class="SomeBean">
    <property name="cool" value="#{configGroup['cool']}" />
</bean>

注入到Java类中,由于spring的限制,如果你需要将ConfigGroupMap<String, String>的方式注入到业务bean中时,也需要使用SPEL或@Resource

@Resource
private Map<String, String> configGroup;

or

@Value("#{configGroup}")
private Map<String, String> configGroup;

or 

@Value("#{configGroup['cool']}")
private boolean cool;