架构师之路(三)
在spring.xml配置文件里面,如何包含多个配置文件呢,其中,spring提供了一个import配置,用于导入对应的.xml文件,具体配置如下:
<!-- 引入项目配置文件 -->
<!-- <context:property-placeholder location="classpath:config.properties" /> -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
</bean>
这个是最重要的,表示通过这个类,您可以将一些组态设定,移出至.properties文件中,而.properties文件可以作为客户根据需求,自定义一些相关的参数。
<import resource="classpath*:spring-redis.xml"/> <!-- 表示加载redis配置信息 -->
<import resource="classpath*:spring-hibernate.xml"/> <!-- 表示加载hibernate配置信息 -->
<import resource="classpath*:spring-druid.xml"/> <!-- 表示加载druid配置信息 -->
<import resource="classpath*:spring-tasks.xml"/> <!-- 表示加载tasks配置信息 -->
<import resource="classpath*:spring-ehcache.xml"/> <!-- 表示加载ehcache配置信息 -->
<import resource="classpath*:spring-javamelody.xml"/> <!-- 表示加载javamelody配置信息 -->
<import resource="classpath*:net/bull/javamelody/monitoring-spring.xml"/> <!-- 表示加载redis配置信息 -->
<import resource="classpath*:spring-mina.xml"/> <!-- 表示加载redis配置信息 -->
<import resource="classpath*:spring-monitor.xml"/> <!-- 表示加载redis配置信息 -->
(1)、spring-redis.xml配置文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
</bean>
<!-- 对象池配置 -->
<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>
这个表示redis对象池的配置,调用的对应的class文件为redis.clients.jedis.JedisPoolConfig。
<!-- 配置jedisConnFactory -->
<bean id="jedisConnFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.ip}" />
<property name="port" value="${redis.port}" />
<property name="database" value="${redis.database}" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
这个表示redis的连接工厂,对应的class文件方法为org.springframework.data.redis.connection.jedis.JedisConnectionFactory。
<!-- redis template definition -->
<bean id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnFactory"/>
<bean id="redisContainer" class="org.springframework.data.redis.listener.RedisMessageListenerContainer">
<property name="connectionFactory" ref="jedisConnFactory"/>
</bean>
这个表示redis的消息队列,采用redis作为消息监听器,可以把数据很快的存储和很快的得到。
作为一名软件开发人员,成为架构师是追求之一。系统架构师的能力不仅仅体现在书写业务代码上,更重要的是系统的结构和性能,是否具有可拓展性、高并发性和稳定性。
在spring.xml配置文件里面,如何包含多个配置文件呢,其中,spring提供了一个import配置,用于导入对应的.xml文件,具体配置如下:
<!-- 引入项目配置文件 -->
<!-- <context:property-placeholder location="classpath:config.properties" /> -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
</bean>
这个是最重要的,表示通过这个类,您可以将一些组态设定,移出至.properties文件中,而.properties文件可以作为客户根据需求,自定义一些相关的参数。
<import resource="classpath*:spring-redis.xml"/> <!-- 表示加载redis配置信息 -->
<import resource="classpath*:spring-hibernate.xml"/> <!-- 表示加载hibernate配置信息 -->
<import resource="classpath*:spring-druid.xml"/> <!-- 表示加载druid配置信息 -->
<import resource="classpath*:spring-tasks.xml"/> <!-- 表示加载tasks配置信息 -->
<import resource="classpath*:spring-ehcache.xml"/> <!-- 表示加载ehcache配置信息 -->
<import resource="classpath*:spring-javamelody.xml"/> <!-- 表示加载javamelody配置信息 -->
<import resource="classpath*:net/bull/javamelody/monitoring-spring.xml"/> <!-- 表示加载redis配置信息 -->
<import resource="classpath*:spring-mina.xml"/> <!-- 表示加载redis配置信息 -->
<import resource="classpath*:spring-monitor.xml"/> <!-- 表示加载redis配置信息 -->
(1)、spring-redis.xml配置文件
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
</bean>
<!-- 对象池配置 -->
<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>
这个表示redis对象池的配置,调用的对应的class文件为redis.clients.jedis.JedisPoolConfig。
<!-- 配置jedisConnFactory -->
<bean id="jedisConnFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">
<property name="hostName" value="${redis.ip}" />
<property name="port" value="${redis.port}" />
<property name="database" value="${redis.database}" />
<property name="poolConfig" ref="jedisPoolConfig" />
</bean>
这个表示redis的连接工厂,对应的class文件方法为org.springframework.data.redis.connection.jedis.JedisConnectionFactory。
<!-- redis template definition -->
<bean id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnFactory"/>
<bean id="redisContainer" class="org.springframework.data.redis.listener.RedisMessageListenerContainer">
<property name="connectionFactory" ref="jedisConnFactory"/>
</bean>
这个表示redis的消息队列,采用redis作为消息监听器,可以把数据很快的存储和很快的得到。