Spring Boot是一个开发Java应用程序的框架,而Nacos是一个用于配置管理和服务发现的开源平台。在Spring Boot项目中使用Nacos作为配置中心,可以实现动态配置管理和实时更新配置的能力。
目录
在order-Service服务中按照下图的格式新建两个文件,分别为启动类和请求类
注意:建议大家以自己的名字全拼命名,防止大家搞混
YML(YAML)和Properties文件是两种常见的配置文件格式,用于存储应用程序或系统的配置信息。它们有以下区别:
语法结构:YML使用缩进和冒号来表示层级关系,而Properties文件使用键值对的形式表示配置项。
可读性:YML文件使用缩进和结构化的语法,因此更易于阅读和理解。相比之下,Properties文件使用简单的键值对结构,可读性较差。
复杂性:YML文件支持更复杂的数据结构,如列表、嵌套对象等,可以更灵活地表示配置信息。Properties文件只支持简单的键值对,不支持复杂数据结构。
扩展性:YML文件可以轻松地添加注释,以及处理更复杂的配置需求。Properties文件不支持注释,且在处理复杂配置时可能变得冗长和难以维护。
应用场景:YML文件适用于需要更复杂结构和层级关系的配置信息,例如Spring Boot应用程序的配置文件。Properties文件适用于简单的键值对配置,常用于Java应用程序的配置文件。
- <dependencyManagement>
- <dependencies>
-
-
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-dependenciesartifactId>
- <version>2.3.12.RELEASEversion>
- <type>pomtype>
- <scope>importscope>
- dependency>
-
- <dependency>
- <groupId>org.springframework.cloudgroupId>
- <artifactId>spring-cloud-dependenciesartifactId>
- <version>Hoxton.SR12version>
- <type>pomtype>
- <scope>importscope>
- dependency>
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-alibaba-dependenciesartifactId>
- <version>2.1.2.RELEASEversion>
- <type>pomtype>
- <scope>importscope>
- dependency>
- dependencies>
- dependencyManagement>
可能会出现版本不兼容的问题,我们在这里将SpringBoot版本修改为【2.3.12.RELEASE】
这时候我们要新建两个子服务
要创建两个子服务都是普通的Maven项目,所以这里我们选择【Maven】就可以,完成后点击【Next】
- <dependencies>
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
- dependency>
-
- <dependency>
- <groupId>com.alibaba.cloudgroupId>
- <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
- dependency>
- <dependency>
- <groupId>org.springframework.bootgroupId>
- <artifactId>spring-boot-starter-webartifactId>
- dependency>
- dependencies>
- server:
- port: 9000
- servlet:
- context-path: /order-Service
- spring:
- cloud:
- nacos:
- discovery:
- server-addr: 152.136.111.77:5555
- namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
- config:
- server-addr: 152.136.111.77:5555
- namespace: 10ecded1-361f-45d7-a009-ad2355304ff5
- prefix: order
- file-extension: yml
- application:
- name: order
在【OrderController】类中编写请求的逻辑代码
- package order.controller;
-
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.GetMapping;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RestController;
-
- @RestController
- @RequestMapping("/placeOrder")
- @Controller
- public class OrderController {
- @GetMapping("/order")
- public String placeOrder(){
- return "已下单";
- }
- }
在【OrderServiceApplication】类中编写程序启动逻辑
- package order;
-
- import org.springframework.boot.SpringApplication;
- import org.springframework.boot.autoconfigure.SpringBootApplication;
- import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
-
- @SpringBootApplication
- @EnableDiscoveryClient
- public class OrderServiceApplication {
- public static void main(String[] args) {
- SpringApplication.run(OrderServiceApplication.class, args);
- }
- }
此时,我们再次在浏览器中打开Nacos服务端,点击【服务列表】,我们配置的order-Service服务就注册成功啦!!
通过以上步骤,就可以在Spring Boot项目中使用Nacos作为配置中心,并实现动态配置管理。在Nacos中更新配置后,应用程序将自动获取最新的配置值。