`
85977328
  • 浏览: 1903727 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring3.2.2与xmemcached-1.3.7的优雅集成

 
阅读更多
之前一直在网上找spring集成memcached的代码,但是一直没搞定。这段代码没什么牛逼之处。只是我们追求的优雅。
仁者见仁,智者见智。任何技术都有他的妙处,此处不讨论spring哲学。

java代码如下
       MemcachedClientBuilder builder = new XMemcachedClientBuilder(AddrUtil.getAddresses("10.10.1.1:11211 10.10.1.2:11211"));
        MemcachedClient memcachedClient = builder.build();


但是上一段代码,如何用spring初始化呢?
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="
http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.2.xsd 
http://www.springframework.org/schema/context 
http://www.springframework.org/schema/context/spring-context-3.2.xsd 
http://www.springframework.org/schema/tx 
http://www.springframework.org/schema/tx/spring-tx-3.2.xsd 
http://www.springframework.org/schema/aop  
http://www.springframework.org/schema/aop/spring-aop-3.2.xsd">
	<!-- 配置文件 -->
	<bean id="configproperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
		<property name="locations">
			<list>
				<value>classpath:application.properties</value>
			</list>
		</property>
	</bean>
	<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer">
		<property name="properties" ref="configproperties" />
	</bean>
	<!-- memcached初始化 -->
	<bean id="builder" class="net.rubyeye.xmemcached.XMemcachedClientBuilder">
		<constructor-arg>
			<bean class="net.rubyeye.xmemcached.utils.AddrUtil" factory-method="getAddresses">
				<constructor-arg value="${memached.host}" />
			</bean>
		</constructor-arg>
	</bean>
	<bean id="memcachedClient" class="net.rubyeye.xmemcached.MemcachedClient" factory-bean="builder" factory-method="build" destroy-method="shutdown" />
</beans>
1
4
分享到:
评论
1 楼 hunray 2013-04-28  
1)可以提高单元测试覆盖率。
2)提高代码可读性与可维护性

关于这两点我不是很理解。

我现在的做法是将连接配置放置在properties文件中,使用一个类生成连接并配置到spring中,通过注入方式调用。

你的方式比较我的方式针对上面的两点有那些体现?求指教

相关推荐

Global site tag (gtag.js) - Google Analytics