web.xml 通过contextConfigLocation配置spring 的方式

web.xml 通过contextConfigLocation配置spring 的方式web.xml通过contextConfigLocation配置spring的方式SSI框架配置文件路径问题:struts2的1个+N个路径:src+src(可配置)名称:struts.xml+Nspring的1个路径:src名称:applicationContext.x…

大家好,又见面了,我是你们的朋友全栈君。web.xml 通过contextConfigLocation配置spring 的方式

SSI框架配置文件路径问题:

struts2的 1个+N个 路径:src+src(可配置) 名称: struts.xml + N

spring 的 1个 路径: src 名称: applicationContext.xml

ibatis 的 1个+N个 路径: src+src(可配置) 名称: SqlMapConfig.xml + N

部署到tomcat后,src目录下的配置文件会和class文件一样,自动copy到应用的 classes目录下

spring的 配置文件在启动时,加载的是web-info目录下的applicationContext.xml,

运行时使用的是web-info/classes目录下的applicationContext.xml。

配置web.xml使这2个路径一致:

<context-param>

<param-name>contextConfigLocation</param-name>

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

</context-param>

多个配置文件的加载

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>

classpath*:conf/spring/applicationContext_core*.xml,

classpath*:conf/spring/applicationContext_dict*.xml,

classpath*:conf/spring/applicationContext_hibernate.xml,

classpath*:conf/spring/applicationContext_staff*.xml,

classpath*:conf/spring/applicationContext_security.xml

classpath*:conf/spring/applicationContext_modules*.xml

classpath*:conf/spring/applicationContext_cti*.xml

classpath*:conf/spring/applicationContext_apm*.xml

</param-value>

</context-param>

contextConfigLocation 参数定义了要装入的 Spring 配置文件。

首先与Spring相关的配置文件必须要以”applicationContext-“开头,要符合约定优于配置的思想,这样在效率上和出错率上都要好很多。

还有最好把所有Spring配置文件都放在一个统一的目录下,如果项目大了还可以在该目录下分模块建目录。这样程序看起来不会很乱。

在web.xml中的配置如下:

Xml代码

<context-param>

<param-name>contextConfigLocation</param-name>

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

</context-param>

“**/”表示的是任意目录;

“**/applicationContext-*.xml”表示任意目录下的以”applicationContext-“开头的XML文件。

你自己可以根据需要修改。最好把所有Spring配置文件都放在一个统一的目录下,如:

<!– Spring 的配置 –>

<context-param>

<param-name>contextConfigLocation</param-name>

<param-value>classpath:/spring/applicationContext-*.xml</param-value>

</context-param>

web.xml中classpath:和classpath*:, 有什么区别?

classpath:只会到你的class路径中查找找文件;

classpath*:不仅包含class路径,还包括jar文件中(class路径)进行查找.

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149831.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js的随机函数_随机生成数字的函数

    js的随机函数_随机生成数字的函数//默认为范围为10,开始值为1functionrandom(range=10,start=1){returnMath.floor(Math.random()*range+start);}

    2022年10月28日
  • Oracle学习(八):处理数据

    Oracle学习(八):处理数据

    2021年11月15日
  • Linux服务器ldap启动,linux搭建ldap服务器详细步骤

    Linux服务器ldap启动,linux搭建ldap服务器详细步骤ldap这种原始的服务器搭建起来比较复杂,同时它也是CE必考的(客户端的搭建)。1、安装openldap-servers软件包2、查看ldap模板文件的存放位置:3、拷贝ldap模板文件到配置文件目录并修改文件名为slapd.conf。4、删除/etc/openldap目录下原有的文件,保留下这几个文件,注意:以前学时是要删除schema文件,直留下三个,但是我测试时如果删除schema服务将失败…

    2022年5月14日
  • ingress什么意思_ingress负载均衡

    ingress什么意思_ingress负载均衡k8sIngress介绍Http代理Https代理Ingress介绍我们已经知道,Service对集群之外暴露服务的主要方式有两种:NodePort和LoadBalancer,但是这两种方式,都有一定的缺点:NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显。LoadBalancer的缺点是每个Service都需要一个LB,浪费,麻烦,并且需要kubernetes之外的设备的支持。基于这种现状,kubernetes提供了Ingress资源对象,I

    2022年8月11日
  • bat批处理 for循环_批处理 for /f

    bat批处理 for循环_批处理 for /f一、前言在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作成为可能;配合if、call、goto等流程控制语句,更是可以实现脚本复杂的自动化、智能化操作;合理使用for语句,还能使代码大为简化,免除各位编写大量重复语句之苦。二、for语句的基本用法1、举例:正如色彩缤纷的七彩光芒是由红绿蓝三原色构成的一样,最复杂的for语句,也…

    2022年10月9日
  • SpringBoot和SpringCloud的区别?归纳理解

    SpringBoot和SpringCloud的区别?归纳理解SpringBoot和SpringCloud的区别?一、SpringBoot是什么?SpringBoot是一个快速开发的轻量级框架,帮助快速整合第三方常用框架,完全采用注解化(使用注解启动SpringMVC),简化XML配置,内置HTTP服务器(Tomcat、Jetty)。作用是简化Spring应用的初始搭建及开发,解决各种jar包版本冲突问题。二、SpringCloud是什么?SpringCloud是一系列框架的有序集合,是一个分布式服务治理的框架,本身不会提供具体功能性的操作,是一个为开发

    2022年6月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号