本文是基于JEECG项目, 进行基于不同环境实现配置隔离,
以下所有操作都是基于JEECG框架, 但同样适用于基于spring的JAVA WEB 项目。
前言
按照传统JEECG等JAVA WEB项目, 所有配置信息(例如数据库连接的配置信息)不能根据环境进行隔离。
假设有一个项目从测试环境, 上线到生产环境,需要修改如数据库连接等配置操作。一定程度加大了部署成本和人工操作导致的部署失败风险。
所以,我们需要一种配置隔离的策略, 将与环境相关的信息进行隔离。
针对上述问题, 我们提供两种方案:
1. 使用配置中心, 如APOLLO 或 SPRING CLOUD CONFIG等
2. SPRING配置隔离
虽然第一种框架十分成熟,且更能适用于分布式情况下,不同环境下的配置隔离。但是,针对一些小企业,服务器资源紧缺(使用单服务器单应用),技术团队和维护团队不足的情况, 使用上述方案,耗时耗力。因此,本文主要讲的是基于第二种的SPRING 的配置隔离策略。
SPRING 配置隔离策略
SPRING提供了 一种 bean profile写法, 使得spring加载的时候, 可以根据spring.profiles.active去根据不同环境加载不同的配置信息,spring-profile.xml配置信息如下:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:c="http://www.springframework.org/schema/c" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:p="http://www.springframework.org/schema/p" xmlns:jdbc="http://www.springframework.org/