软件编程
位置:首页>> 软件编程>> java编程>> 浅谈xml配置spring profiles的几个注意点

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

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

标签:xml,spring,profiles

先贴正确配置


<?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

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com