Spring之项目中pofile的应用
2019独角兽企业重金招聘Python工程师标准>>>
工程中,我们必须要面对的一件事就是, 开发环境中使用的数据库连接地址等与生产上的不同, 如果上线, 那么我们是否还要手动修改这些地址么, 这样做有很多弊端, 不方便, 这时我们就可以使用spring的profile来解决.
1 修改web.xml
在web.xml中加入如下List-1.1的内容.
List-1.1
<context-param><param-name>spring.profiles.default</param-name><!--生产环境时,改为production,开发时改为development--><param-value>development</param-value>
</context-param>
2 resources下的properties文件
如下图2.1所示, development下放置的是开发时使用的配置; production下是生产上使用的配置.
图2.1
之后在spring的xml配置中,如下List-2.1所示, 重点是profile的值分别是development和production, 像List-1.1中那样使用的就是开发环境的.
List-2.1
<beans profile="development"><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="ignoreUnresolvablePlaceholders" value="true"/><property name="locations"><list><value>classpath:properties/development/db.properties</value><value>classpath:properties/development/application.properties</value></list></property><property name="fileEncoding" value="UTF-8"/></bean>
</beans>
<beans profile="production"><bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"><property name="ignoreUnresolvablePlaceholders" value="true"/><property name="locations"><list><value>classpath:properties/production/db.properties</value><value>classpath:properties/production/application.properties</value></list></property><property name="fileEncoding" value="UTF-8"/></bean>
</beans>
3 单元测试时如何配置
单元测试时, 建一个TestBase类, 加上注解@ActiveProfiles, 值是development, 之后所有的单元测试类都继承它, 就可以了.
List-3.1
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath*:spring-context.xml"})
@ActiveProfiles("development")
public class TestBase {}
这样做了之后, 我们上线需要将List-1.1中的值改为production就可以了.
转载于:https://my.oschina.net/u/2518341/blog/2990608
Spring之项目中pofile的应用相关推荐
- spring boot 项目源码_Spring Boot2 系列教程(三)理解 Spring Boot 项目中的 parent
前面和大伙聊了 Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用: <parent><groupId& ...
- spring mvc项目中利用freemarker生成自定义标签
2019独角兽企业重金招聘Python工程师标准>>> spring mvc项目中利用freemarker生成自定义标签 博客分类: java spring mvc +freemar ...
- 在Spring Boot项目中使用Spock框架
转载:https://www.jianshu.com/p/f1e354d382cd Spock框架是基于Groovy语言的测试框架,Groovy与Java具备良好的互操作性,因此可以在Spring B ...
- scheduled每天下午1点执行一次_在Spring Boot项目中使用@Scheduled注解实现定时任务...
在java开发中定时任务的实现有多种方式,jdk有自己的定时任务实现方式,很多框架也有定时任务的实现方式.这里,我介绍一种很简单的实现方式,在Spring Boot项目中使用两个注解即可实现. 在sp ...
- Spring Boot 项目中Java对象的字符串类型属性值转换为JSON对象的布尔类型键值的解决方法及过程
文章目录 场景描述 示例说明 解决历程 @JsonFormat是否能解决问题? 万能方案-调试 替代方案 补充知识 Java对象与JSON对象的序列化与反序列化 相关注解说明 后记 场景描述 在Spr ...
- Spring Boot项目中使用RestTemplate调用https接口出现 unable to find valid certification path to requested target
问题描述:Spring Boot项目中使用RestTemplate调用https接口出现以下错误: PKIX path building failed: sun.security.provider.c ...
- Spring Boot项目中集成Elasticsearch,并实现高效的搜索功能
Spring Boot项目中集成Elasticsearch 前言 环境准备 引入依赖 配置Elasticsearch连接信息 定义实体类 定义Elasticsearch操作接口 实现搜索功能 总结 前 ...
- 如何在Spring和Spring MVC项目中进行测试
Spring框架概述 Spring大约包含了20个模块,这些模块组成了核心容器(Core Container).数据访问/集成(Data Access/Integration).Web.AOP(面向切 ...
- 在Spring Boot 项目中使用Spring AOP实现切面日志
导语 大数据时代,数据来源是比较重要的.而日志作为用户操作.系统监控.业务分析等都比较重要的一个环节.能更好的使用日志显得尤为重要.那么在Spring Boot的项目中如何能更加高效的记录Cont ...
最新文章
- Personal preference
- 浅谈MyBatis一级缓存
- 转:Kafka、RabbitMQ、RocketMQ等消息中间件的介绍和对比
- oracle导入substring,java中substring()和oracle中substr()区别
- 互斥锁、条件变量、信号量浅析
- html图片多边形怎么写,使用CSS3构建的图像多边形裁剪动画特效
- 【LeetCode】12. Integer to Roman 整型数转罗马数
- C#后台调用前台js(RegisterStartupScript)
- c语言lr分析器的设计与实现_Python3设计模式四 :状态模式
- 14的虚拟机可以用在15上面吗_环氧底漆是什么漆,分很多种吗?环氧底漆都可以用在什么上面...
- POJ--3278 Catch That Cow
- NATS 分布式消息队列系统
- Modern Robotics:机器人的构型空间
- oracle lob函数,Oracle可以处理LOB字段的常用字符函数
- 自动驾驶 Apollo 源码分析系列,感知篇(一)
- github提交时报错:remote: Support for password authentication was removed on August 13, 2021问题解决方案
- Java正则表达式实现港、澳、台身份证验证
- PAT 乙级 1065 单身狗 (25 分)
- 关于UE5角色动画蓝图的基本操作(基础向)
- “不喝就是不给我面子”,酒局领导逼你喝酒咋办?坚守这条底线
热门文章
- Java基础02 位运算符<<、>>
- arduino机器人设计与制作_百元搭建人工智能自主导航机器人
- java8 hadoop_java8-模拟hadoop
- 7_python基础—while循环应用1-100累加和
- Postman常用方法
- python 装机配置_Python实现自动装机功能案例分析
- linux中paste的用法,在Linux中使用Paste命令来合并行,包括使用Paste命令技巧及注意事项...
- android handler内存,Android handler之内存泄露原因揭示
- 编译环境与生成环境的JDK版本不一样,报:java.util.zip.ZipException: error in opening zip file
- B1.Java基础部分二