springboot 集成apollo,根据不同环境加载配置

springboot配置-集成apollo springboot配置-集成apollo 文章目录springboot配置-集成apollo1.启动2.springboot配置-集成apollo3.测试 apollo相关信息:https://github.com/ctripcorp/apollo 以下为单机测试。 1.启动 1)导入sql 2)修改配置 3)启动 访问:http://localhost:8070/ 管理台 访问:htt... 阅读详情
1 pom.xml加入依赖
<dependency>
	<groupId>com.ctrip.framework.apollo</groupId>
	<artifactId>apollo-client</artifactId>
	<version>1.1.0</version>
</dependency>
<dependency>
	<groupId>com.ctrip.framework.apollo</groupId>
	<artifactId>apollo-core</artifactId>
	<version>1.1.0</version>
2 添加app.properties文件到META-INF下

在这里插入图片描述

3 在springboot启动类上方加入@EnableApolloConfig注解

在这里插入图片描述

4 登陆apollo配置中心创建项目,增加配置

创建项目
项目配置
这里定义了三个环境分别是:
DEV:开发环境
TEST:测试环境
DEMO:演示环境
(生产环境是PROD,在另一个apollo配置中心)

5 根据不同环境加载配置

pom.xml中加入profile配置

<profiles>
        <profile>
            <id>develop</id>
            <properties>
                <profiles.active>env-dev</profiles.active>
            </properties>
            <activation>
                <activeByDefault>true</activeByDefault>
            </activation>
        </profile>
        <profile>
            <id>test</id>
            <properties>
                <profiles.active>env-test</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>product</id>
            <properties>
                <profiles.active>env-prod</profiles.active>
            </properties>
        </profile>
        <profile>
            <id>demo</id>
            <properties>
                <profiles.active>env-demo</profiles.active>
            </properties>
        </profile>
    </profiles>

我把4个profile配置文件放在了environment下
在这里插入图片描述
里面的配置就一个key:env,env的值对应apollo配置中心里项目的环境
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
然后创建application.properties,增加avtive.env=${env}
在这里插入图片描述
下面我们就需要修改springboot启动类,直接上代码

public static void main(String[] args) throws Exception {
        //读取application.properties获取编译后的active.env值
        Properties properties = new Properties();
        InputStream in = SnowApplication.class.getClassLoader().getResourceAsStream("application.properties");
        properties.load(in);
        String env = properties.getProperty("active.env");
        //设置apollo启动环境
        System.setProperty("env", env);
        //设置apollo meta server
        if("PROD".equals(env)){
            System.setProperty("apollo.meta","http://test.xx.apollo.com");
        }else{
            System.setProperty("apollo.meta","http://xx.apollo.com");
        }
        SpringApplication.run(SnowApplication.class, args);
        log.info("SpringBoot Start Success, running environment is {}", env);
    }

因为在pom中定义了默认启用profile为develop,对应的env-dev.properties里面的env为DEV,即开发环境,直接启动时会去加载apollo中对应的DEV环境配置,所以开发时可以直接使用。在其他环境下,因为我们使用了jenkins自动构建,只需根据不同环境在maven打包命令上加入 -Ptest 、-Pdemo、-Pproduct 即可。

到此为止,表达能力有限,不明白的可以留言哦。

SpringBoot 集成 Apollo 配置中心 由于 Apollo 概念比较多,刚开始使用比较复杂,最好先过一遍概念再动手实践尝试使用。 1、背景 随着程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来越高,配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。因此 Apollo 配置中心应运而生! 2、简介 Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能 阅读详情

相关推荐

java——Apollo配置中心之三——apollo客户端配置

Apollo配置中心集成 运行环境 由于Apollo本身根据SpringBoot和SpringCloud开发的,脚本文件支持windows系统、Linux系统,建议CentOS 7。且本身依赖很少,只依赖数据库mysql。 运行环境如下: JDK环境,1.8以上,最新版服务最低1.8,客户端1.7. MYSQL版本:5.6以上 分布式部署环境 DEV:开发环境 FAT:测试环境,相当于alpha环境(功能测试) UAT:集成环境,相当于beta环境(回归测试) PRO:生产环境 apollo客户端配置

weixin_44034570的博客 1920

spring boot2.1读取 apollo 配置中心1

第一篇:搭建apollo配置中心 为什么选择apollo,我做了一些对比: Diamond Disconf Apollo Spring Cloud Config 数据持久性 mysql mysql mysql git 推拉模型 拉模型,http长轮询 拉模型,每隔15s拉一次全量数据 基于ZooKeeper,实时 h...

287

SpringBoot配置Apollo代码实例

主要介绍了SpringBoot配置Apollo代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Springboot的开发环境(dev)、测试环境(beta)和生产环境(product)打包部署

1、在项目开发过程中需要考虑不同的运行环境:开发环境(dev)、测试环境(beta)和生产环境(product)。在以往的开发过程中通常使用Maven构建工具进行控制,但却需要进行大量的配置。SpringBoot考虑到此类问题,专门设计了profile支持。   备注:尤其是项目开发完毕,在正式环境部署的时候出现问题,进行本地调试的时候就头疼了,因为正式环境的参数配置都和本地不一样,所以...

HiterCoder 1649

告别转换超时!手把手教你用Allegro2Altium.bat搞定AD21导入Allegro 17.2文件

本文详细介绍了如何使用Allegro2Altium.bat工具解决AD21导入Allegro 17.2文件时的转换超时问题。通过理解转换机制、准备离线环境、执行完整转换流程及高级技巧,帮助工程师高效完成PCB设计文件转换,提升工作效率。

weixin_30378623的博客 421

嵌入式开发中Tab与空格混用的危害与统一规范实践

在软件工程中,代码格式一致性是保障可读性与团队协作效率的基础。从原理上看,制表符(Tab)与空格(Space)在存储与显示机制上存在本质差异:Tab是控制字符,其显示宽度取决于编辑器设置;空格则是固定宽度的字符。这种差异导致混用时会引发代码对齐错乱、版本控制冲突及跨平台兼容性问题,严重影响工程的可维护性。尤其在嵌入式开发领域,资源受限环境与高可靠性要求使得统一的编码规范更为关键。通过配置编辑器、集成clang-format等自动化工具,可以强制实现缩进风格的一致性,从而提升代码质量与团队协作效率。本文聚焦于

weixin_42545636的博客 276

SpringBoot 多环境切换

日常开发中一般都会有三个不同的环境,分别是开发环境(dev),测试环境(test)和生产环境(prod),不同的环境各种配置都不相同,比如数据库配置,服务器端口等等。

W31003的博客 2277

OpenNARS开源通用人工智能系统:非公理推理引擎实践指南

人工智能系统从基于规则推理到深度学习模型,始终围绕如何让机器具备智能决策能力。传统逻辑系统依赖公理和完备知识,而现实世界智能体需要在资源受限、信息不完备环境下进行推理。非公理推理系统(NARS)通过动态真值计算和信念修正机制,实现了在不确定性环境下的自主学习和决策。这种推理引擎的技术价值在于模拟人类思维的核心机制——归纳、演绎和学习,为通用人工智能(AGI)提供了不同于数据驱动的新路径。在应用场景上,NARS适用于游戏NPC决策、复杂系统故障诊断和自适应机器人控制等领域。OpenNARS作为NARS理论的开

weixin_31961675的博客 408

Springboot/SpringCloud项目使用Apollo配置中心获取配置信息

背景介绍:当前项目为springcloud微服务,整个微服务框架中分布式系统服务和集群的数量相当多,每一个服务都有着自己的配置,之前所有服务的配置信息都使用springcloud配置中心,启动服务时会从配置中心拉取对应服务的配置文件获取配置信息,现在需要将所有配置信息迁移到Apollo配置中心,由Apollo管理配置信息。 一、配置Apollo配置中心并为应用添加配置信息 1、部署和启动Apoll...

EricXiao666的博客 1万+

微信小程序协同工作和发布

微信小程序协同工作和发布

qq_53114527的博客 1620

拯救者Y9000P 2022双系统实战:Ubuntu22.04分区优化与驱动避坑指南

本文提供联想拯救者Y9000P 2022款安装Ubuntu 22.04双系统的详细实战指南。重点讲解针对该机型的磁盘分区优化方案、NVIDIA显卡驱动安装避坑技巧,以及安装后的网络、时间同步等必备配置,帮助用户高效完成双系统部署并提升使用体验。

weixin_29208327的博客 424

一文搞定,SpringBoot 集成 Apollo 配置中心

1、背景 随着程序功能的日益复杂,程序的配置日益增多,各种功能的开关、参数的配置、服务器的地址……对程序配置的期望值也越来越高,配置修改后实时生效,灰度发布,分环境、分集群管理配置,完善的权限、审核机制…… 在这样的大环境下,传统的通过配置文件、数据库等方式已经越来越无法满足开发人员对配置管理的需求。因此 Apollo 配置中心应运而生! 2、简介 Apollo(阿波罗)是携程框架部门...

vincent 2万+

论文翻译:Automatic Lesson Plan Generation via Large Language Models with Self-critique Prompting

在本文中,我们利用大型语言模型(LLMs)的理解和生成能力来自动生成定制化的课程计划。这解决了传统计划可能无法充分满足不同教学环境和学生群体的特定需求的常见挑战。我们提出了一个新颖的三阶段过程,包括使用检索增强生成(RAG)逐步生成课程计划的每个关键组成部分,通过LLMs进行自我批评,以及随后的细化。我们使用这种方法为小学2至5年级生成了涵盖80多个主题的数学课程计划。邀请了三位经验丰富的教育工作者制定全面的课程计划评估标准,然后使用这些标准将我们的LLM生成的课程计划与同一主题的实际课程计划进行基准比较。

CSPhD-winston的博客 1101

Apollo安装、springboot集成Apollo、Apollo动态刷新、Apollo集成sentinel

1.Apollo简介 1.1 安装Apollo 2.springboot集成Apollo 2.1 apollo动态刷新配置 2.2 apollo集成sentinel 3. Apollo工作原理 3.1 各模块职责 3.2 分步执行流程 3.3 核心概念 3.4 配置发布原理

qq_44300280的博客 3711

26、特洛伊木马:威胁与防范

本文详细介绍了多种常见的特洛伊木马,包括RegForm、ProMail和远程访问特洛伊木马(RATs),并分析了其工作原理与危害。重点讲解了著名RATs如Back Orifice、SubSeven和The Thing的技术特点,揭示了黑客编写特洛伊木马的常用语言与方法。同时,提供了有效的防范策略,如谨慎获取软件、使用回滚程序、杀毒软件、防火墙及反特洛伊木马程序,并通过流程图展示了防御机制。旨在帮助用户识别威胁并加强系统安全防护。

e3f4g5的博客 88

基于STM32L4XX、HAL库的IP101GRI以太网收发器(PHY)驱动程序设计

define IP101GRI_PHY_ADDRESS 0x01 // 根据硬件设计设置PHY地址。#define IP101GRI_PHYSTS 0x10 // PHY状态寄存器。#define IP101GRI_PHYINIR 0x12 // PHY中断寄存器。#define IP101GRI_PHYCR 0x14 // PHY控制寄存器。#define IP101GRI_PHYID2 0x03 // PHY标识符2。

zhusl6688的博客 721

一文读懂Apollo客户端配置加载流程

Apollo 启动时会在扩展点开始加载远端配置,而Apollo客户端获取配置采用多层设计->->,最终由完成远端配置拉取负责拉取远端配置并通知更新配置。负责将远端配置缓存至本地文件,设计这一层主要是为了在Apollo Server 不可用时保证业务服务的可用性。当配置发生变更时负责通知更新配置。负责缓存Apollo配置信息在内存中,当配置发生变更时,会回调方法更新Java Bean 中的属性。

听得到微笑的博客 1万+

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

springboot2.0从apollo读取配置

参考:https://github.com/nobodyiam/apollo-build-scripts 本篇文章包括两点:Windows环境下apollo单机搭建、springboot2.0从apollo读取配置 一、windows环境下aollo单机搭建 1、环境:JDK1.8,mysql 5.7.23,git-2.1.9(执行apollo的启动脚本) 2、下载apollo安装包......

燕少江湖 2万+

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Spring Boot集成Apollo配置中心【开发实践】

数据库的连接参数、应用的启动参数、一些系统的账号密码等信息,一般不会在代码中硬编码,而是存储于代码外部的文件中。这些信息被称为配置信息,存储配置信息的文件就是配置文件。程序需要读取配置文件来获取所需的配置信息。Spring Boot项目启动时,如果使用了Apollo配置中心,则会在启动前先去配置中心中读取配置信息。使用Spring Boot集成Apollo配置中心,需要先配置Apollo(需要配置的信息见后),告诉Apollo客户端从哪个Apollo服务器读取哪个配置。

qq_40656637的博客 3871

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

apollo配置最先加载?_关于SpringBoot配置中心,不得不提Apollo

摘要Apollo是由携程技术团队开源的一款分布式配置中心,它能够集中管理不同环境、不同集群的配置,当配置修改以后可以实时推送到服务端。如果客户端监听服务端数据配置发生变化,可以实时监听到那些配置进行了修改,然后更新内存中的配置数据,使得配置数据实时生效。一、基于application.properties或者yaml方式配置的缺点配置中心是微服务项目中必不可少的部分。各个服务模块都需要不同的配置文...

weixin_34189259的博客 870

Apollo 配置中心详细教程

一、简介 Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。 Java客户端 不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。 .Net客户端 不依赖任何框架,能够运行于所有.N

牧小农 1万+

springboot将日志得一些配置放到apollo配置中心

在正式项目中我们一般不同环境下配置不一样,不同项目下日志配置级别也不一样或者名称也不一样这个时候就需要定义一些变量 那么如何把变量放到配置中心去呢? 有人会说直接放上去不就好了。好,当你直接放上去得时候你会发现你得启动日志全不见了,或者变量也不见了 这是因为springboot 加载logback 时间早与加载 apollo拉取配置。 知道问题得症结所在我们就可以对症下药了。 肯定是要让...

a807719447的专栏 3619

深入SpringBoot:Apollo配置中心的集成与实现

Apollo(阿波罗)是携程框架部门研发的开源配置管理中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性。

~ 2950

Apollo配置中心教程、详解

Apollo(阿波罗)是一款可靠的分布式配置管理中心,诞生于携程框架研发部,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。服务端基于Spring Boot和Spring Cloud开发,打包后可以直接运行,不需要额外安装Tomcat等应用容器。Java客户端不依赖任何框架,能够运行于所有Java运行时环境,同时对Spring/Spring Boot环境也有较好的支持。

black_pp的博客 1万+

PropertyPlaceholderConfigurer读取配置改造SpringBoot集成apollo, 读取不到配置

问题描述: Maven多模块开发, SSM框架改造成SpringBoot框架, 集成apollo时,读取不到apollo的配置. 因为是自己封装了PropertyPlaceholderConfigurer进行配置文件的读取: /** *获取到当前架包中资源文件夹下的Properties配置文件 */ public class PropertyConfigurer extends Prop...

m0_37772518的博客 6824

一文搞定:SpringBoot 集成 Apollo 配置中心

公众号后台回复“面试”,获取精品学习资料扫描下方海报了解专栏详情本文来源:http://www.mydlq.club/article/42/《Java工...

石杉的架构笔记 1万+
上一篇: spingCloud基于redisTemplate的redis的分布式锁
下一篇: redis5集群安装
lfwer
博客等级 码龄18年 8粉丝 58原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值