spring.cloud.config.server.git.password=password
- 在应用主类中,新增
@EnableDiscoveryClient
注解,用来将config-server注册到上面配置的服务注册中心上去。
@EnableDiscoveryClient
@EnableConfigServer
@SpringBootApplication
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
- 启动该应用,并访问
http://localhost:1111/
,可以在Eureka Server的信息面板中看到config-server已经被注册了。
Paste_Image.png
config-client配置
- 同config-server一样,在
pom.xml
的dependencies节点中新增spring-cloud-starter-eureka
依赖,用来注册服务:
org.springframework.boot
spring-boot-starter-web
org.springframework.cloud
spring-cloud-starter-config
org.springframework.cloud
spring-cloud-starter-eureka
- 在
bootstrap.properties
中,按如下配置:
spring.application.name=didispace
server.port=7002
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.serviceId=config-server
spring.cloud.config.profile=dev
其中,通过eureka.client.serviceUrl.defaultZone
参数指定服务注册中心,用于服务的注册与发现,再将spring.cloud.config.discovery.enabled
参数设置为true,开启通过服务来访问Config Server的功能,最后利用spring.cloud.config.discovery.serviceId
参数来指定Config Server注册的服务名。这里的spring.application.name
和spring.cloud.config.profile
如之前通过URI的方式访问时候一样,用来定位Git中的资源。
- 在应用主类中,增加
@EnableDiscoveryClient
注解,用来发现config-server服务,利用其来加载应用配置
@EnableDiscoveryClient
@SpringBootApplication
public class Application {
public static void main(String[] args) {
new SpringApplicationBuilder(Application.class).web(true).run(args);
}
}
- 沿用之前我们创建的Controller来加载Git中的配置信息
@RefreshScope
@RestController
public class TestController {
@Value(“${from}”)
private String from;
@RequestMapping(“/from”)
public String from() {
return this.from;
}
}
- 完成了上述配置之后,我们启动该客户端应用。若启动成功,访问
http://localhost:1111/
,可以在Eureka Server的信息面板中看到该应用已经被注册成功了。
Paste_Image.png
- 访问客户端应用提供的服务:
http://localhost:7002/from
,此时,我们会返回在Git仓库中didispace-dev.properties
文件配置的from属性内容:“git-dev-1.0”。
配置刷新
有时候,我们需要对配置内容做一些实时更新的场景,那么Spring Cloud Config是否可以实现呢?答案显然是可以的。下面,我们看看如何进行改造来实现配置内容的实时更新。
在改造程序之前,我们先将config-server和config-client都启动起来,并访问客户端提供的REST APIhttp://localhost:7002/from
来获取配置信息,可以获得返回内容为:git-dev-1.0
。接着,我们可以尝试使用Git工具修改当前配置的内容,比如,将config-repo/didispace-dev.properties
中的from的值从from=git-dev-1.0
修改为from=git-dev-2.0
,再访问http://localhost:7002/from
,可以看到其返回内容还是git-dev-1.0
。
下面,我们将在config-client端增加一些内容和操作以实现配置的刷新:
- 在config-clinet的
pom.xml
中新增spring-boot-starter-actuator
监控模块,其中包含了/refresh
刷新API。
org.springframework.boot
spring-boot-starter-actuator
-
重新启动config-clinet,访问一次
http://localhost:7002/from
,可以看到当前的配置值 -
修改Git仓库
config-repo/didispace-dev.properties
文件中from
的值 -
再次访问一次
http://localhost:7002/from
,可以看到配置值没有改变 -
通过POST请求发送到
http://localhost:7002/refresh
,我们可以看到返回内容如下,代表from
参数的配置内容被更新了
[
“from”
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)
Spring全套教学资料
Spring是Java程序员的《葵花宝典》,其中提供的各种大招,能简化我们的开发,大大提升开发效率!目前99%的公司使用了Spring,大家可以去各大招聘网站看一下,Spring算是必备技能,所以一定要掌握。
目录:
部分内容:
Spring源码
- 第一部分 Spring 概述
- 第二部分 核心思想
- 第三部分 手写实现 IoC 和 AOP(自定义Spring框架)
- 第四部分 Spring IOC 高级应用
基础特性
高级特性 - 第五部分 Spring IOC源码深度剖析
设计优雅
设计模式
注意:原则、方法和技巧 - 第六部分 Spring AOP 应用
声明事务控制 - 第七部分 Spring AOP源码深度剖析
必要的笔记、必要的图、通俗易懂的语言化解知识难点
脚手框架:SpringBoot技术
它的目标是简化Spring应用和服务的创建、开发与部署,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用的微服务功能,可以和spring cloud联合部署。
Spring Boot的核心思想是约定大于配置,应用只需要很少的配置即可,简化了应用开发模式。
- SpringBoot入门
- 配置文件
- 日志
- Web开发
- Docker
- SpringBoot与数据访问
- 启动配置原理
- 自定义starter
微服务架构:Spring Cloud Alibaba
同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。
- 微服务架构介绍
- Spring Cloud Alibaba介绍
- 微服务环境搭建
- 服务治理
- 服务容错
- 服务网关
- 链路追踪
- ZipKin集成及数据持久化
- 消息驱动
- 短信服务
- Nacos Confifig—服务配置
- Seata—分布式事务
- Dubbo—rpc通信
Spring MVC
目录:
部分内容:
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!
目录:
[外链图片转存中…(img-EJVkSIJc-1713301217741)]
[外链图片转存中…(img-zEQXuSVV-1713301217741)]
[外链图片转存中…(img-wZt2Q9OZ-1713301217741)]
部分内容:
[外链图片转存中…(img-LdCE8cuO-1713301217742)]
[外链图片转存中…(img-uiPps819-1713301217742)]
《互联网大厂面试真题解析、进阶开发核心学习笔记、全套讲解视频、实战项目源码讲义》点击传送门即可获取!