浅谈xml配置spring profiles的几个注意点

作者:bluehtt 时间:2022-07-20 15:20:09 

先贴正确配置


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:aop="http://www.springframework.org/schema/aop"
   xmlns:task="http://www.springframework.org/schema/task"
   xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
     http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

<aop:aspectj-autoproxy></aop:aspectj-autoproxy>
 <task:annotation-driven/>

<import resource="spring-datasource.xml"/>
 <import resource="spring-hessian-server.xml"/>
 <import resource="spring-remoting-dis.xml"/>
 <import resource="spring-remoting-worldeye.xml"/>
 <import resource="spring-activemq.xml"/>
 <import resource="spring-cxf-client.xml"/>

<!-- 开发配置 -->
 <beans profile="dev">
   <context:property-placeholder location="classpath:config/application.properties, classpath:config/application-dev.properties"/>
   <import resource="spring-hadoop-dev.xml"/>
 </beans>

<!-- 测试配置 -->
 <beans profile="test">
   <context:property-placeholder location="classpath:config/application.properties, classpath:config/application-prd.properties, classpath:config/application-test.properties"/>
   <import resource="spring-hadoop-test.xml"/>
 </beans>

<!-- 线上配置 -->
 <beans profile="prd">
   <context:property-placeholder location="classpath:config/application.properties, classpath:config/application-prd.properties"/>
   <import resource="spring-hadoop.xml"/>
 </beans>
</beans>

一. xml标签的xsd版本

spring-beans.xsd 文件不要指定版本,也可以使用高版本(起码是3.1),原因是 spring profile 是3.1版本开始的。


<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"

......

xsi:schemaLocation="http://www.springframework.org/schema/beans
     http://www.springframework.org/schema/beans/spring-beans.xsd
     http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
     http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd
     http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

二. dispatcherServlet文件配置

web.xml中配置了 DispatcherServlet 的 contextConfigLocation,需要在 spring-dispatch.xml 添加 spring profile 的配置,配置项同上。


 <!-- profile配置 -->
 <context-param>
   <param-name>spring.profiles.active</param-name>
   <param-value>prd</param-value>
 </context-param>

<!-- Spring配置 -->
 <context-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
     classpath:config/spring/spring-context.xml
     classpath:config/spring/spring-security.xml
   </param-value>
 </context-param>

......

<!-- Spring Dispatcher配置 -->
 <servlet>
   <servlet-name>dispatcher</servlet-name>
   <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
   <init-param>
     <param-name>contextConfigLocation</param-name>
     <param-value>
       classpath:config/spring/spring-hessian-server.xml
       classpath:config/spring/spring-dispatch.xml
       classpath:config/spring/spring-security.xml
     </param-value>
   </init-param>
   <load-on-startup>1</load-on-startup>
 </servlet>

来源:https://segmentfault.com/a/1190000019853729

标签:xml,spring,profiles
0
投稿

猜你喜欢

  • C#获取远程XML文档的方法

    2023-06-26 17:41:16
  • 基于Java实现经典蜘蛛纸牌游戏

    2021-09-06 15:22:57
  • 聊聊Java 中的线程中断

    2021-05-31 02:04:30
  • java基础(System.err和System.out)详解

    2022-10-23 23:27:37
  • Android使用glide加载gif动画设置播放次数

    2022-06-20 03:59:46
  • C#实现扫描枪扫描二维码并打印(实例代码)

    2023-02-26 18:02:56
  • Java 的 FileFilter文件过滤与readline读行操作实例代码

    2022-04-09 07:22:53
  • Springmvc模式上传和下载与enctype对比

    2022-11-08 09:14:17
  • java整合SSM框架的图文教程

    2023-03-11 01:06:30
  • Android选择图片或拍照图片上传到服务器

    2022-12-15 01:48:41
  • Android自定义控件实现按钮滚动选择效果

    2023-04-02 09:42:02
  • C++ 中String 替换指定字符串的实例详解

    2021-06-05 19:08:23
  • Java进程间通信之消息队列

    2023-05-24 01:44:27
  • ArrayList和LinkedList的区别、扩容机制以及底层的实现方式

    2023-11-27 01:26:57
  • C# Timer控件学习之使用Timer解决按钮幂等性问题

    2021-07-07 11:26:09
  • Android下拉刷新与轮播图滑动冲突解决方案

    2021-08-12 12:30:40
  • ES结合java代码聚合查询详细示例

    2022-08-31 01:23:29
  • Android画板开发之撤销反撤销功能

    2023-11-28 10:08:37
  • Android显示GIF图片实例代码

    2021-10-14 16:47:03
  • Spring+EHcache缓存实例详解

    2023-12-12 20:27:51
  • asp之家 软件编程 m.aspxhome.com