首页 > 解决方案 > Grails - 读取 resources.xml 中的配置属性

问题描述

在我的 Grails 应用程序中,我有一个 java 文件,我需要从 resources.xml 创建 bean。我需要传递特定于每个环境的 url。

如何读取配置路径属性,如下所示:

     <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
        <property name="maxTotal" value="5" />
        <property name="maxWaitMillis" value="6000" />
    </bean>
    <bean id="jedisPool" class="redis.clients.jedis.JedisPool">
        <constructor-arg index="0" ref="jedisPoolConfig" />
        <constructor-arg index="1" value="${grailsApplication.config.baseUrl}" />
        <constructor-arg index="2" value="7890" />
        <constructor-arg index="3" value="6000" />
    </bean>
    <bean id="redisConnectionPool"
          class="com.app.util.RedisConnectionPool">
        <property name="jedisPool" ref="jedisPool" />
    </bean>

标签: grailsjavabeans

解决方案


https://docs.grails.org/4.0.11/guide/spring.html#propertyPlaceholderConfiguration

应用程序.groovy

baseUrl='whatever'

资源.xml

<bean id="jedisPool" class="redis.clients.jedis.JedisPool">
    <constructor-arg index="0" ref="jedisPoolConfig" />
    <constructor-arg index="1" value="${baseUrl}" />
    <constructor-arg index="2" value="7890" />
    <constructor-arg index="3" value="6000" />
</bean>

推荐阅读