spring中读不到配置文件问题
最近碰到一个问题,明明已经配置了<context:property-placeholder location="classpath:bieyang-config.properties" />
启动spring还是报找不到${bieyang.host}类似这种错误,查了一天,各种试验。得出如下结论:
1,首先<context:property-placeholder location="classpath:bieyang-config.properties" />这个配置项目中只能用一次。
2.<context:property-placeholder location="classpath:bieyang-config.properties" />这个配置的意思是把属性加载到context中了,那么问题来了,一般我们的项目中会有2个以上servletcontext,一个是通过listener创建
<context-param><param-name>contextConfigLocation</param-name><param-value>classpath*:bean/spring-web.xml</param-value></context-param>
<listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
还有就是通过servlet方式创建
<servlet><servlet-name>webapp</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:bean/webapp-servlet.xml</param-value> </init-param> <load-on-startup>3</load-on-startup></servlet>
如果你把 <context:property-placeholder location="classpath:bieyang-config.properties" />写到其中一个context的xml中,而你又在两个context中的xml中都要通过属性文件读取属性值,这个是不行的。你只能把需要读取属性文件的配置写到同一个context的xml中。
这里顺便提一下,
<!-- 启用缓存注解功能,这个是必须的,否则注解不会生效,另外,该注解一定要声明在spring主配置文件中才会生效 -->
<!-- 需要注意的是<cache:annotation-driven/>只会去寻找定义在同一个ApplicationContext下的@Cacheable等缓存注解。 -->
<!-- proxy-target-class="true" 看情况要不要用-->
<!-- <cache:annotation-driven cache-manager="cacheManager" /> -->
<cache:annotation-driven/> <!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --><mvc:annotation-driven />
这种启用注解功能的配置必须放到
DispatcherServlet对应的servletcontext的xml中才能生效,因为注解比如@cacheable它的作用范围也和servletcontext有关,本人还比较菜没有深入去了解。
spring中读不到配置文件问题相关推荐
- Spring中加载xml配置文件的六种方式
Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog 因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...
- Spring中,applicationContext.xml 配置文件在web.xml中的配置详解
Spring中,applicationContext.xml 配置文件在web.xml中的配置详解 2016年10月04日 15:22:26 阅读数:7936 转自http://www.cnblogs ...
- spring中@Value读取.properties配置文件中文乱码问题
spring中读取.properties文件中文乱码原因是因为springmvc或spring配置文件加载配置文件时没有设定字符集编码问题导致的,其默认是会将.properties配置文件转码为uni ...
- java调度:(四) spring中使用quartz的配置文件.
quartz主要是三个部分:Scheduler Job Trigger,其中,Job 负责定义需要执行的任务,Trigger 负责设置调度策略,Scheduler 将二者组装在一起,并触发任务开始执行 ...
- spring 中加载xml配置文件的方式
方法一: Resource res = new ClassPathResource("bean.xml"); BeanFactory fac = new XmlBeanFactor ...
- Spring中常用注解的介绍
spring中使用注解时配置文件的写法: <?xml version="1.0" encoding="UTF-8"?> <span style ...
- 一文读懂Spring中的AOP机制
一.前言 这一篇我们来说一下 Spring 中的 AOP 机制,为啥说完注解的原理然后又要说 AOP 机制呢? 1.标记日志打印的自定义注解 @Target({ElementType.METHOD}) ...
- 如何在spring中读取properties配置文件里面的信息
如何在spring中读取properties配置文件里面的信息 <!-- 正文开始 --> 一般来说.我们会将一些配置的信息放在.properties文件中. 然后使用${}将配置文件中的 ...
- spring配置xml文件_XML配置文件中的Spring配置文件
spring配置xml文件 我的上一个博客非常简单,因为它涵盖了我从Spring 3.0.x到Spring 3.1.x的轻松升级,最后我提到可以将Spring模式升级到3.1,以利用Spring的最新 ...
最新文章
- Windows 10下 Visual Studio Code (VSCode) 和 TypeScript 入门
- Android Service的使用方法 音乐播放器实例
- linux网络共享文件夹,[Linux] - Windows与Linux网络共享文件夹挂载方法
- zookeeper初探二 windows环境搭建伪集群
- Shell(6): 多线程操作及线程数
- Grunt构建工具能做哪些事?
- 信噪比计算方式(小问题解惑)
- c语言12 345 6789,c语言知识点
- 用python做乘法口诀表_如何用python编写乘法口诀表
- 入秋的第一篇数据结构算法:看看归并与快排的风采
- 类和对象5:绑定和静态、类、抽象方法
- ocx找不到指定模块
- android 仿微信demo————登录功能实现(服务端)
- php输出问号,所有特殊字符都是PHP / HTML中的问号
- Windows 11和安全启动
- 《认知觉醒》-潜意识
- 机器学习之路(四)之感知机算法PLA
- mysql 双1设置_mysql 双1设置
- DevExpress VCL for Delphi 各版本收集下载(最新支持Delphi 10.3.3 RIO)
- 普林斯顿微积分读本篇十:导数和图像