关于配置Spring框架的多个propertyConfigurer的问题
来源:互联网 发布:sql server2000 sp3 编辑:程序博客网 时间:2024/05/21 09:03
近来对web架构中的缓存比较感兴趣 ,所以分别试着在windows环境下配起了redis和memcache,刚开始配了Memcache,跑起项目不存在问题(项目框架是SpringMvc+MyBatis),我的Spring的配置文件目录如下
从web项目中启动加载applicationContext.xml,这本来是一个比较简单的配置(在配置memcache和redis之前是不存在问题的),后来为了配置memcache,所以在web.xml中我又启动了,web.xml的配置又加了一个xml,如下图
在Spring-memcache.xml中又配置了propertyConfigure
启动项目,目前没有问题,但是接下来我配置redis的时候也差不多按照这个思路配置,所以在web.xml中又加上了spring-redis.xml
而在spring-redis.xml中又配置了一个propertyConfigure
启动项目,本来觉得这样的配置应该不会出现问题,没想到报错了,竟然出问题了
说是不能替换,左想右想,这不对啊 明显的properties文件里面的东西属性是一样的 这不可能出错啊。终于找到资源了
http://www.iteye.com/topic/1131688
http://blog.sina.com.cn/s/blog_4550f3ca0100ubmt.html
查阅资料 原来是先加载了spring-memcache.xml 然后先把
但是spring是要把3个xml都加载完的 所以上面的memcache.propertis里面的配置在还没有读取出来的时候,spring容器开始要替换里面的表达式,所以出现这么个问题(简单来说就是最好把properties文件全部在一个propertiesConfigure加载)
现在来说解决方案
1)在applicationcontext.xml中进行配置文件的集合,
在各个分配置中,不再配置propertyConfigure了,这样就解决了这么个问题
2)如果觉得还是想非要分别配置更好理解的话
那么在各个propertyConfigure加上“orderr”和“ignoreUnresolvablePlaceholders”,order表示顺序,值越小优先级越高即越早执行;
默认情况下ignore-unresolvable;即如果没找到的情况是否抛出异常。默认false:即抛出异常;
这么配置的意思是先加载memcache.properties文件,在替换表达式的时候不会报错,等待以后的表达式替换(因为配置了ignoreUnresolvablePlaceh
(这样配置的要求在于order最大的的ignoreUnresolvablePlace为false,其余的都必须为true,因为先加载的在替换的时候不能报错,等待后面把表达式替换掉)
第二个问题:
这解决了上次配置框架的时候出现的问题,终于无意中找到了答案,在此记录下
- 关于配置Spring框架的多个propertyConfigurer的问题
- Spring的PropertyConfigurer注入中文问题--乱码
- springMVC-Spring propertyConfigurer的使用
- 利用Spring的propertyConfigurer类 读取.property数据库配置文件
- 利用Spring的propertyConfigurer类 读取.property数据库配置文件
- Spring利用propertyConfigurer类处理property配置
- 关于Spring框架中applicationContext的问题
- 关于Spring项目配置多个数据源的实例演示
- 关于spring的log4j的配置问题
- 关于Spring MVC I18N 的配置问题
- Spring框架的配置
- Spring框架的配置
- 关于TOMCAT配置多个连接池的问题
- 关于oracle配置多个数据库的问题
- 关于oracle配置多个数据库的问题
- 关于同一服务器配置多个tomcat的问题
- spring中ibatis 关于数据库的配置$个#的区别
- 【接口测试】-总结-关于spring框架的数据库连接配置
- 菜鸟学习javaweb(二)--可变参数
- EAS数据库IO等待分析及优化报告
- iOS 如何选择delegate、notification、KVO?
- 出栈和入栈方向
- system strategies of Resources Deadlock
- 关于配置Spring框架的多个propertyConfigurer的问题
- hdoj.2074 叠筐 20140804
- C++内存分配:堆和栈
- POJ 1442 Black Box(优先队列)
- iOS 下载图片前如何预取图片的大小
- 旅行,写作,编程 :IT文艺青年的生活态度
- [UVa 11440]Help Tomisu 数论 欧拉函数+拓欧逆元
- LeetCode Best Time to Buy and Sell Stock
- linux中sed命令替换包含引号、斜杠等特殊字符的的使用