写点什么

使用 Spring

作者:Java高工P7
  • 2021 年 11 月 11 日
  • 本文字数:987 字

    阅读完需:约 3 分钟

<beans profile="test">


<context:property-placeholder


location="classpath*:common/*.properties, classpath*:test/*.properties" />


</beans>


<beans profile="production">


<context:property-placeholder


location="classpath*:common/*.properties, classpath*:production/*.properties" />


</beans>


</beans>


这样就实现了通过 profile 标记不同的环境,接下来就可以通过设置 spring.profiles.default 和 spring.profiles.active 这两个属性来激活和使用对应的配置文件。default 为默认,如果没有通过 active 来指定,那么就默认使用 default 定义的环境。


这两个属性可以通过多种方法来设置:


  • 在 web.xml 中作为 web 应用的上下文参数 context-param;

  • 在 web.xml 中作为 DispatcherServlet 的初始化参数;

  • 作为 JNDI 条目;

  • 作为环境变量;

  • 作为 JVM 的系统属性;

  • 在集成测试类上,使用 @Active


【一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义】
浏览器打开:qq.cn.hn/FTf 免费领取
复制代码


Profiles 注解配置。


前两者都可以在 web.xml 文件中设置:


<?xml version="1.0" encoding="UTF-8"?>


<display-name>Archetype Created Web Application</display-name>


<context-param>


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


<param-value>


classpath*:/applicationContext*.xml


</param-value>


</context-param>


<context-param>


<param-name>spring.profiles.default</param-name>


<param-value>development</param-value>


</context-param>


<context-param>


<param-name>spring.profiles.active</param-name>


<param-value>development</param-value>


</context-param>


<servlet>


<servlet-name>appServlet</servlet-name>


<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>


<init-param>


<param-name>spring.profiles.default</param-name>


<param-value>development</param-value>


</init-param>


<load-on-startup>1</load-on-startup>


</servlet>


<servlet-mapping>


<servlet-name>appServlet</servlet-name>


<url-pattern>/</url-pattern>


</servlet-mapping>


</web-app>


激活指定的环境,也可以通过 JVM 参数来设置,可以在 tomcat 的启动脚本中加入以下 JVM 参数来激活:



-Dspring.profiles.active="production"


在程序中,也可以通过 @Profile("...") 对某些资源进行注解,这样只有当选择对应的环境时,才会产生对应的 bean,如:

用户头像

Java高工P7

关注

还未添加个人签名 2021.11.08 加入

还未添加个人简介

评论

发布
暂无评论
使用Spring