最近碰到一个问题,明明已经配置了<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中读不到配置文件问题相关推荐

  1. Spring中加载xml配置文件的六种方式

    Spring中加载xml配置文件的六种方式 博客分类: Spring&EJB XMLSpringWebBeanBlog  因为目前正在从事一个项目,项目中一个需求就是所有的功能都是插件的形式装 ...

  2. Spring中,applicationContext.xml 配置文件在web.xml中的配置详解

    Spring中,applicationContext.xml 配置文件在web.xml中的配置详解 2016年10月04日 15:22:26 阅读数:7936 转自http://www.cnblogs ...

  3. spring中@Value读取.properties配置文件中文乱码问题

    spring中读取.properties文件中文乱码原因是因为springmvc或spring配置文件加载配置文件时没有设定字符集编码问题导致的,其默认是会将.properties配置文件转码为uni ...

  4. java调度:(四) spring中使用quartz的配置文件.

    quartz主要是三个部分:Scheduler Job Trigger,其中,Job 负责定义需要执行的任务,Trigger 负责设置调度策略,Scheduler 将二者组装在一起,并触发任务开始执行 ...

  5. spring 中加载xml配置文件的方式

    方法一: Resource res = new ClassPathResource("bean.xml"); BeanFactory fac = new XmlBeanFactor ...

  6. Spring中常用注解的介绍

    spring中使用注解时配置文件的写法: <?xml version="1.0" encoding="UTF-8"?> <span style ...

  7. 一文读懂Spring中的AOP机制

    一.前言 这一篇我们来说一下 Spring 中的 AOP 机制,为啥说完注解的原理然后又要说 AOP 机制呢? 1.标记日志打印的自定义注解 @Target({ElementType.METHOD}) ...

  8. 如何在spring中读取properties配置文件里面的信息

    如何在spring中读取properties配置文件里面的信息 <!-- 正文开始 --> 一般来说.我们会将一些配置的信息放在.properties文件中. 然后使用${}将配置文件中的 ...

  9. spring配置xml文件_XML配置文件中的Spring配置文件

    spring配置xml文件 我的上一个博客非常简单,因为它涵盖了我从Spring 3.0.x到Spring 3.1.x的轻松升级,最后我提到可以将Spring模式升级到3.1,以利用Spring的最新 ...

最新文章

  1. Windows 10下 Visual Studio Code (VSCode) 和 TypeScript 入门
  2. Android Service的使用方法 音乐播放器实例
  3. linux网络共享文件夹,[Linux] - Windows与Linux网络共享文件夹挂载方法
  4. zookeeper初探二 windows环境搭建伪集群
  5. Shell(6): 多线程操作及线程数
  6. Grunt构建工具能做哪些事?
  7. 信噪比计算方式(小问题解惑)
  8. c语言12 345 6789,c语言知识点
  9. 用python做乘法口诀表_如何用python编写乘法口诀表
  10. 入秋的第一篇数据结构算法:看看归并与快排的风采
  11. 类和对象5:绑定和静态、类、抽象方法
  12. ocx找不到指定模块
  13. android 仿微信demo————登录功能实现(服务端)
  14. php输出问号,所有特殊字符都是PHP / HTML中的问号
  15. Windows 11和安全启动
  16. 《认知觉醒》-潜意识
  17. 机器学习之路(四)之感知机算法PLA
  18. mysql 双1设置_mysql 双1设置
  19. DevExpress VCL for Delphi 各版本收集下载(最新支持Delphi 10.3.3 RIO)
  20. 普林斯顿微积分读本篇十:导数和图像

热门文章

  1. 使用物联网卡发送短信
  2. 网页代码扒ppt_用“扒片”的方法制作ppt
  3. 为什么你会觉得苹果已无创新?耶稣已死,商人掌舵!!
  4. top、margin-top的区别
  5. GameFramework源码学习(一)
  6. zabbix结合qqmail发送告警信息
  7. 《茶馆》再开张 这出戏濮存昕、冯远征演了20年
  8. jQuery动画序列
  9. 学生管理系统的mysql数据库设计_MySQL数据库--学生管理系统数据库设计
  10. 9.4 基础和应用的平衡中找到大学的节奏——《逆袭大学》连载