一千个人有一千种spring的配置方式,真是这样。看了好多的配置,试验了很多。这里做一个总结。

1 原理上,spring和springmvc可以合并为一个配置文件然后在web.xml中加载,因为最终的形式都是bean。但最好分开配置配置spring,然后配置springmvc,但测试发现,两者调换顺序配置也没什么问题。呃呃。

2 Spring的配置文件命名一般为:applicationContext.xml,springmvc的配置文件为一般为:xxx-servlet.xml,因为springmvc在web.xml中以一个servlet配置。数据库的配置文件一般命名:jdbc.properties。

3 数据库的配置最好和spring的配置分开,单独列成jdbc.properties文件。在spring配置文件applicationContext.xml中加载时,用最简便的方式,下面的写法需要注意路径:jdbc.properties在src目录下可以:

<context:property-placeholderlocation="classpath*:jdbc.properties"/>

接上面,因为classpath就是代表  /WEB-INF /classes/这个路径,而上面的例子jdbc.properties发布时的路径在这个目录下。关于配置文件路径的问题,理解了classpath的代表,就理解了两种写法,例子如下:

如上图,在web.xml中配置时config下的applicationContext.xml时:

<param-value>/WEB-INF/classes/config/applicationContext.xml</param-value>

<param-value>classpath:config/applicationContext.xml</param-value>

上面这两种写法等价。而这时候,applicationContext.xml中加载jdbc.properties应该这么写:

<context:property-placeholderlocation="classpath:config/jdbc.properties"/>

classpath 和 classpath* 区别:

classpath:只会到你的class路径中查找找文件;
classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找

4 Spring在web.xml中有两种配置方式:listener和servlet方式。查阅得知:spring3.0以后 不支持servlet方式。所以推荐用listener方式。

本文最先发表在csdn博客上,现在签了过来。

Spring+SprinMVC配置学习总结的更多相关文章

  1. spring 基本配置学习

    1.bean的方式说明 作用:    用于配置对象让spring来创建的. 默认情况下它调用的是类中的无参构造函数.如果没有无参构造函数则不能创建成功. 属性: id:给对象在容器中提供一个唯一标识. ...

  2. Spring Boot 项目学习 (二) MySql + MyBatis 注解 + 分页控件 配置

    0 引言 本文主要在Spring Boot 基础项目的基础上,添加 Mysql .MyBatis(注解方式)与 分页控件 的配置,用于协助完成数据库操作. 1 创建数据表 这个过程就暂时省略了. 2 ...

  3. SpringBoot源码学习1——SpringBoot自动装配源码解析+Spring如何处理配置类的

    系列文章目录和关于我 一丶什么是SpringBoot自动装配 SpringBoot通过SPI的机制,在我们程序员引入一些starter之后,扫描外部引用 jar 包中的META-INF/spring. ...

  4. (4) Spring中定时任务Quartz集群配置学习

    原 来配置的Quartz是通过spring配置文件生效的,发现在非集群式的服务器上运行良好,但是将工程部署到水平集群服务器上去后改定时功能不能正常运 行,没有任何错误日志,于是从jar包.JDK版本. ...

  5. spring 事务的配置学习

    1.spring事务管理器接口PlatformTransactionManager 接口中的方法 获取事务状态信息 -TransactionStatus getTransaction(Transact ...

  6. Spring学习(九)-----Spring bean配置继承

    在 Spring,继承是用为支持bean设置一个 bean 来分享共同的值,属性或配置. 一个子 bean 或继承的bean可以继承其父 bean 的配置,属性和一些属性.另外,子 Bean 允许覆盖 ...

  7. 第04项目:淘淘商城(SpringMvc+Spring+Mybatis) 的学习实践总结【第三天】

    淘淘商城(SpringMVC+Spring+Mybatis)  是传智播客在2015年9月份录制的,几年过去了.由于视频里课上老师敲的代码和项目笔记有些细节上存在出入,只有根据日志报错信息作出适当的调 ...

  8. spring事务配置详解

    一.前言 好几天没有在对spring进行学习了,由于这几天在赶项目,没有什么时间闲下来继续学习,导致spring核心架构详解没有继续下去,在接下来的时间里面,会继续对spring的核心架构在继续进行学 ...

  9. spring源码学习之路---深入AOP(终)

    作者:zuoxiaolong8810(左潇龙),转载请注明出处,特别说明:本博文来自博主原博客,为保证新博客中博文的完整性,特复制到此留存,如需转载请注明新博客地址即可. 上一章和各位一起看了一下sp ...

随机推荐

  1. 用R语言 画条形图(基于ggplot2包)

    1.用qplot(x,data=data,geom.=”bar”,weight=y)+scale_y_continuous("y")画出y关于x的条形. 图中提示binwidth这 ...

  2. Codeforces Round #418 (Div. 2) C. An impassioned circulation of affection

    C. An impassioned circulation of affection time limit per test 2 seconds memory limit per test 256 m ...

  3. Performance Metrics(性能指标1)

    Performance Metrics(性能指标) 在我们开始旅行本书之前,我必须先了解本书的性能指标和希望优化后的结果,在第二章中,我们探索更多的性能检测工具和性能指标,可是,您得会使用这些工具和明 ...

  4. N天学习一个linux命令之lsof

    用途 列出进程已打开的文件,文件可以是常规文件,特殊文件,目录,socket,设备,共享库等.如果不带参数,lsof显示所有进程打开的所有文件. 用法 lsof [ -?abChlnNOPRtUvVX ...

  5. ios调用dismissViewController的一个小陷阱

    我们的APP从启动到进入主页面.是通过presentViewController构造了一个ViewController序列,类似于首页 -> 登陆页 -> 启动载入页 -> 主页面 ...

  6. codeforces #262 DIV2 B题 Little Dima and Equation

    题目地址:http://codeforces.com/contest/460/problem/B 这题乍一看没思路.可是细致分析下会发现,s(x)是一个从1到81的数,不管x是多少.所以能够枚举1到8 ...

  7. oc35--自定义构造方法

    // // Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int ag ...

  8. Android中Calendar类的用法总结

    Calendar是Android开发中需要获取时间时必不可少的一个工具类,通过这个类可以获得的时间信息还是很丰富的,下面做一个总结,以后使用的时候就不用总是去翻书或者查资料了. 在获取时间之前要先获得 ...

  9. poj--1101--The Game(bfs)

    The Game Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 9746   Accepted: 2967 Descript ...

  10. EMC 存储管理

    第一章EMC 产品介绍 1.1.         名词介绍 DAE——磁盘笼.用于装载磁盘的柜子. ◆Disk processor enclosure——含磁盘的控制器单元.存储系统的主要设备,内含存 ...