Java 在SpringMVC中从xml文件读取配置

Java 在SpringMVC中从xml文件读取配置,java,spring,spring-mvc,web.xml,Java,Spring,Spring Mvc,Web.xml,我正在使用SpringMVC4RESTAPI开发web应用程序,其中有web.xml文件和spring-servlet.xml文件 我在代码之间使用主机/ip和端口号,而应该在xml文件中进行配置并在控制器中读取 这不应该使我的应用程序过载。它不应该破坏MVC结构/策略。解决方案之一是将配置放在属性文件中,然后由SpringXML文件采用。以下是一个例子: ###Redis Settings### redis.pool.maxActive=1024 redis.pool.maxIdle=200

我正在使用SpringMVC4RESTAPI开发web应用程序,其中有web.xml文件和spring-servlet.xml文件

我在代码之间使用主机/ip和端口号,而应该在xml文件中进行配置并在控制器中读取


这不应该使我的应用程序过载。它不应该破坏MVC结构/策略。

解决方案之一是将配置放在属性文件中,然后由SpringXML文件采用。以下是一个例子:

###Redis Settings###
redis.pool.maxActive=1024
redis.pool.maxIdle=200
redis.pool.maxWait=1000
redis.pool.testOnBorrow=true 
redis.ip=redis-server
redis.port=6379
然后:


classpath:/config/redis.properties

谢谢你的帖子。我可以将该属性文件放在WEB-INF中(我有springservlet.xml)。如果是这样,我应该如何在spring-servlet.xml文件中配置路径,以及如何在类中使用maxActive
<!-- Configuration for Properties -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="locations">
        <list>
            <value>classpath:/config/redis.properties</value>
        </list>
    </property>
</bean>

<!-- Configuration for Redis Client -->
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
    <property name="maxActive" value="${redis.pool.maxActive}" />
    <property name="maxIdle" value="${redis.pool.maxIdle}" />
    <property name="maxWait" value="${redis.pool.maxWait}" />
    <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" />
</bean>

<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
    <property name="hostName" value="${redis.ip}" />
    <property name="port" value="${redis.port}" />
    <property name="poolConfig" ref="jedisPoolConfig" />
</bean>

<bean class="org.springframework.data.redis.core.RedisTemplate" p:connection-factory-ref="jedisConnectionFactory">
</bean>