本文以 Nacos 配置管理的 Demo 应用为例,介绍如何在本地开发、调试 Spring Cloud 应用,实现 Spring Cloud Alibaba Nacos Config 实现配置管理,并通过 SAE 进行配置管理与推送。

背景信息 在开发 Spring Cloud 应用时,您可以在本地使用 Nacos (https://nacos.io) 实现应用的配置管理。由于 SAE 集成了 Nacos 的应用配置管理 ACM 的开源版本,在应用部署到 SAE 后,您可以通过 SAE 对应用进行配置的管理和推送。

本文以 Spring Cloud 应用开发过程为例,使用 Spring Cloud Alibaba Nacos Config 实现配置管理。您也可以下载该应用示例的 Demo nacos-config-example。

说明 Spring Cloud Alibaba Nacos Config 对 Nacos 与 Spring Cloud 框架的进行了整合,支持 Spring Cloud 的配置注入规范。 准备工作 在开始开发前,请确保您已经完成以下工作:

下载 Maven 并设置环境变量。 下载最新版本的 Nacos Server。 启动 Nacos Server。 解压下载的 Nacos Server 压缩包 进入nacos/bin目录,启动 Nacos Server。 Linux/Unix/Mac 系统:执行命令sh startup.sh -m standalone。 Windows 系统:双击执行startup.cmd文件。

在本地 Nacos Server 控制台新建配置。 登录本地 Nacos Server 控制台(用户名和密码默认同为 nacos)。 在左侧导航栏中单击配置列表,在配置列表页面右上角单击新建配置图标增加图标。 在新建配置页面填入以下信息,单击并发布。 Data ID: nacos-config-example.properties Group: DEFAULT_GROUP 配置内容: test.name=nacos-config-test 使用 Nacos Config 实现配置管理 创建一个 Maven 工程,命名为 nacos-config-example。 在pom.xml文件中添加依赖。 以 Spring Boot 2.1.4.RELEASE 和 Spring Cloud Greenwich.SR1 为例。

org.springframework.boot

spring-boot-starter-parent

2.1.4.RELEASE

org.springframework.boot

spring-boot-starter-web

com.alibaba.cloud

spring-cloud-starter-alibaba-nacos-config

2.1.1.RELEASE

org.springframework.cloud

spring-cloud-dependencies

Greenwich.SR1

pom

import

org.springframework.boot

spring-boot-maven-plugin

示例中使用的版本为 Spring Cloud Greenwich ,对应 Spring Cloud Alibaba 版本为 2.1.1.RELEASE。

如果使用 Spring Cloud Finchley 版本,对应 Spring Cloud Alibaba 版本为 2.0.1.RELEASE。 如果使用 Spring Cloud Edgware 版本,对应 Spring Cloud Alibaba 版本为 1.5.1.RELEASE。 说明 Spring Cloud Edgware 版本的生命周期已结束,不推荐使用这个版本开发应用。 在src\main\java下创建 Packagecom.aliware.edas。 在 Packagecom.aliware.edas中创建nacos-config-example 的启动类 NacosConfigExampleApplication。 import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication

public class NacosConfigExampleApplication {

public static void main(String[] args) {

SpringApplication.run(NacosConfigExampleApplication.class, args);

}

}

在 Packagecom.aliware.edas中创建一个简单的 ControllerEchoController,自动注入一个属性userName,且通过@Value注解指定从配置中取 Key 为test.name的值。 import org.springframework.beans.factory.annotation.Value; import org.springframework.cloud.context.config.annotation.RefreshScope; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;

@RestController

@RefreshScope

public class EchoController {

@Value("${test.name}")

private String userName;

@RequestMapping(value = "/")

public String echo() {

return userName;

}

}

在src\main\resources路径下创建配置文件bootstrap.properties,在bootstrap.properties中添加如下配置,指定 Nacos Server 的地址。 其中127.0.0.1:8848为 Nacos Server 的地址,18081为服务端口。

如果您的 Nacos Server 部署在另外一台机器,则需要修改成对应的 IP 和端口。如果有其它需求,可以参照配置项参考在bootstrap.properties文件中增加配置。

spring.application.name=nacos-config-example server.port=18081 spring.cloud.nacos.config.server-addr=127.0.0.1:8848 执行NacosConfigExampleApplication中的 main 函数,启动应用。 部署到 SAE 在本地完成应用的开发和测试后,将应用程序部署到 SAE,详细步骤请参见应用部署概述。

说明 SAE 配置管理中心提供了正式商用版本 Nacos Server。当您将应用部署到 SAE 的时候,SAE 会通过优先级更高的方式去设置 Nacos Server 服务端地址和服务端口,以及 namespace、access-key、secret-key、context-path 信息。您无需进行任何额外的配置,原有的配置内容可以选择保留或删除。 如果您是初次在 SAE 控制台进行部署。如果使用 JAR 包部署,在创建应用时应用运行环境 须选 标准 Java 应用运行环境。SAE-JAR方式部署-应用运行环境配置 在部署应用前,请使用 SAE 的配置管理功能,创建与本地 Nacos Server 中相同的应用配置。

登录 SAE 控制台。 在左侧导航栏中选择配置管理。 在配置管理页面选择地域和命名空间,单击页面右侧 添加按钮。 在新建配置页面中设置 Data ID、Group 和 配置内容,配置完成后单击发布。 Data ID: nacos-config-example.properties Group:DEFAULT_GROUP 配置内容: test.name=nacos-config-test 结果验证 部署完成后,可以通过查看日志确认应用是否启动成功。 执行命令curl http://:,如curl http://192.168.0.34:8080 查看是否返回配置内容 nacos-config-test。 在 SAE 控制台将原有配置内容修改为 nacos-config-test2,再执行命令curl http://:,如curl http://192.168.0.34:8080,查看是否返回变更后的配置内容 nacos-config-test2。 配置项参考 如果有其它需求,可以参照下表在bootstrap.properties文件中增加配置。

配置项 key 默认值 说明 服务端地址 spring.cloud.nacos.config.server-addr 无 无 DataId 前缀 spring.cloud.nacos.config.prefix ${spring.application.name} Data ID 的前缀 Group spring.cloud.nacos.config.group DEFAULT_GROUP Data ID 后缀及内容文件格式 spring.cloud.nacos.config.file-extension properties Data ID 的后缀,同时也是配置内容的文件格式,默认是 properties,支持 yaml 和 yml。 配置内容的编码方式 spring.cloud.nacos.config.encode UTF-8 配置的编码 获取配置的超时时间 spring.cloud.nacos.config.timeout 3000 单位为 ms 配置的命名空间 spring.cloud.nacos.config.namespace 常用场景之一是不同环境的配置的区分隔离,例如开发测试环境和生产环境的资源隔离等。 相对路径 spring.cloud.nacos.config.context-path 服务端 API 的相对路径 接入点 spring.cloud.nacos.config.endpoint UTF-8 地域的某个服务的入口域名,通过此域名可以动态地拿到服务端地址。 是否开启监听和自动刷新 spring.cloud.nacos.config.refresh.enabled true 默认为 true,不需要修改。 更多配置项,请参考开源版本的 Spring Cloud Alibaba Nacos Config 文档。

java如何用刷新界面_java如何按钮刷新相关推荐

  1. java画笔覆盖在界面_Java学习笔记:swing画笔工具Graphics,刷新页面,键盘事件,随机数等【诗书画唱】...

    Graphics:画笔工具 setColor:设置画笔颜色 DrawRect:空心矩形 fillRect:实心矩形 DrawOavl:空心圆 fillOavl:实心圆 DrawLine:画线(注意) ...

  2. java定时刷新界面_Java定时更新数据---定时器

    在应用开发中,经常需要一些周期性的操作,比如每5分钟执行某一操作等.这次,在我们的开发中,就有这么一个需求.某个功能执行需要的时间比较长,则决定采用定时器的方式,每隔一段时间系统自动执行此功能,当界面 ...

  3. java swt 不显示图片_Java SWT按钮图像未刷新

    我在按钮中显示图像,单击该按钮会打开一个复合图像,使我可以选择另一张图片用于该按钮.执行保存操作后,下面的代码将调整图片大小并将其保存到目录中.然后加载重新加载复合材料.当组合加载时,按钮会根据用户正 ...

  4. java画笔覆盖在界面_Java实现画图程序和重绘

    上次聊了一下事件监听机制,今天就来聊一下怎么实现一个画图程序并且实现重绘. 一.实现画图程序 1.实现一个画图程序所需的API类? JFrame窗体容器组件类 JPanel 面板元素组件类 JButt ...

  5. java图形用户登录界面_Java简单登录图形界面

    一.登录界面 1.程序代码 1 import java.awt.*;//导入awt包 2 import javax.swing.*;//导入swing包 3 import java.awt.event ...

  6. java好看的图形界面_java写出图形界面

    1. 做出简单的窗体 package javaGUI; import java.awt.BorderLayout; import java.awt.Color; import javax.swing. ...

  7. java怎么开发图形界面_Java Swing 图形界面开发简介

    1. Swing简介 Swing 是 Java 为图形界面应用开发提供的一组工具包,是 Java 基础类的一部分. Swing 包含了构建图形界面(GUI)的各种组件,如: 窗口.标签.按钮.文本框等 ...

  8. java 高级 图形化界面_java高级图形化界面

    java.awt.event.WindowAdapter 是一个接口 学生的答案: C 标准答案: C 该题分数:4.0 学生得分: 4.0 分 9. 在基于 Swing 的图形用户界面设计中,面板属 ...

  9. java怎么做图形界面_java怎么做图形界面?实例分享

    学习java不仅要学会写程序,也要学会做图形界面,可是做图形界面对于一些刚学java的人员来说还是比较困难的,那么今天我们就给大家分享一下java做图形界面的方法. 首先我们来了解一下创建图形界面时常 ...

最新文章

  1. typescript 叹号_TypeScript系列(五)最佳实践
  2. LAMP平台部署及应用
  3. 2019年陕西高考分数线出炉
  4. Sudo 授权需谨慎,否则脸上泪两行
  5. Hystrix熔断器机制
  6. JVM系列一:Java虚拟机与操作系统结构比较
  7. 第一章 | 使用python机器学习
  8. axios 超时_聊聊 Vue 中 axios 的封装
  9. 初学者参考C#中操作XML修改完整版
  10. Instagram新推两款AI过滤工具,没错!背后功臣就是Deep Text
  11. java实现排序的几种方法
  12. 计算机会计学ufo报表,UFO报表管理实验报告.doc
  13. 二本软件工程学生的考研逆袭之路
  14. 语音人工智能的简单介绍
  15. 全国计算机四级数据库工程师考试真题及答案(Word版)
  16. 互联网+脑科学,中国脑计划的机会
  17. 【解决】瑞星杀毒软件无法卸载,rising进程无法关闭
  18. framework7 入门知识
  19. 攻防世界(解密篇Crypto)---混合编码
  20. 地热能类毕业论文文献有哪些?

热门文章

  1. 计算机备注用if函数怎么算,Excel中IF函数的语法和用法
  2. mysql 被360杀毒软件删除启动文件导致无法启动
  3. 雷曼克斯X5对讲机挑战摩托罗拉之实力评测
  4. 一阶系统的滑膜控制器设计及仿真
  5. 技术大学教授评估高中生3D打印机教育工作 创想三维
  6. 使用yum命令时出现Existing lock的解决办法
  7. Python基础练习题(按条件对指定序列求和,打印99乘法表、求斐波那契数列、百马百担、求水仙花数、求n以内的所有质数(素数)和)
  8. 【软考备战·希赛网每日一练】2023年5月10日
  9. gin context 和 cancal 以及 done()
  10. ORACLE 树型层次结构查询