我正在使用 spring mvc 4 REST API 开发 Web 应用程序,其中有 web.xml 文件和 spring-servlet.xml 文件。
我在代码之间使用主机/IP 和端口号,相反,我应该在 xml 文件中进行配置并在 Controller 中读取它。
这不应该使我的应用程序重载。它不应该破坏 MVC 结构/策略。
最佳答案
解决方案之一是将配置放在属性文件中,然后由 spring xml 文件采用。下面是一个例子:
###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
然后:
<!-- 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>
关于java - spring mvc从xml文件读取配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31451104/