建设小型网站系统开题报告,买软件网站建设,外国做挂的网站是多少,哪些官网用wordpressSpringBoot 引入nacos
首先要了解在 Springboot 中只支持那些 Springboot 的版本#xff08;我真的被这个搞死了#xff09;,可以如下图参考#xff1a; 下面我们就开始吧
下载 Nacos
nacos 下载地址#xff0c;这里可以选择你要下载的版本#xff0c;我选择下载了2.2.…SpringBoot 引入nacos
首先要了解在 Springboot 中只支持那些 Springboot 的版本我真的被这个搞死了,可以如下图参考 下面我们就开始吧
下载 Nacos
nacos 下载地址这里可以选择你要下载的版本我选择下载了2.2.2在下载的时候根据自己的电脑选择合适的压缩包
我这里演示 windows 版本
下载好以后就可以解压放到一个无中文的目录千万
然后点开nacos目录到达bin目录里面就是可运行的文件了。
如果想要单节点运行一般我们自己学习都是单节点但是默认启动多节点就会报错请运行下列命令
.\startup.cmd -m standalone命令的运行是在 bin 目录下如果无权限请用管理员的终端再次尝试。 启动好后 点击上图出现的网址可以进入如果要输入密码默认都是nacos Springboot 中引入
引入依赖管理
这个依赖管理包含了 Springboot 的版本springcloud 的版本springalibabacloud 的版本。引入依赖管理是便于后期加入依赖的时候不用关注版本本身只需要把依赖引入就好了。
我这里 springboot 的版本是 2.6.11请严格按照开始的那张图对应版本
在你的 pom.xml 文件中引入
dependencyManagementdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion${spring-boot.version}/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion2021.0.4/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2021.0.4.0/versiontypepom/typescopeimport/scope/dependency/dependencies/dependencyManagement引入使用的依赖
我们是要使用的是 nacos 的服务注册所以我们引入 discovery 的启动包以及要想启动我们要引入 springcloud 的 bootstrap 包。
dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactId
/dependency
dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId
/dependency在 application.yml 中填写配置
这里主要就是配置 nacos 服务器的地址以及配置我们整个服务的名称。
spring:application:name: nacos-config-examplecloud:nacos:discovery:server-addr: localhost:8848在启动类中添加允许发现的注解
其实就是注解 EnableDiscoveryClient
直接看代码
SpringBootApplication
EnableDiscoveryClient
public class UserServiceApplication {public static void main(String[] args) {SpringApplication.run(UserServiceApplication.class, args);}}然后重新启动就可以啦 说明在SpringBoot 2.4.x的版本之后对于bootstrap.properties/bootstrap.yaml配置文件(我们合起来成为Bootstrap配置文件)的支持需要导入如下的依赖。由于SpringCloud 2020.*以后的版本默认禁用了bootstrap导致读取配置文件时读取不到该属性。 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-bootstrap/artifactId
/dependency 使用 注意在 Spring Cloud Nacos 2021 以后就没有在默认使用 Ribbon 作为负载均衡器了而且在Cloud官网中也推荐使用LoadBalancer 作为负载均衡器对此先引入依赖 !--loadbalancer负载均衡器--
dependency
groupIdorg.springframework.cloud/groupId
artifactIdspring-cloud-starter-loadbalancer/artifactId
/dependency 建立一个类似的工程前面的引入过程一致。
最终在使用的时候如下
package com.xwhking.orderservice.controller;import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.client.ServiceInstance;
import org.springframework.cloud.client.loadbalancer.LoadBalancerClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.client.RestTemplate;import javax.annotation.Resource;RestController
RequestMapping(/order)
public class TestController {Resourceprivate RestTemplate restTemplate;Resourceprivate LoadBalancerClient loadBalancerClient;GetMapping(/test/{id})public String getTest(PathVariable(id) String id){String url http://userservice/user/getOne/id;ServiceInstance serviceInstance loadBalancerClient.choose(userservice);url serviceInstance.getUri().toString()/user/getOne/id;String result1 restTemplate.getForObject(url, String.class);return result1\n;}
}
好文推荐SpringBoot2.6.11 Spring Cloud Alibaba Nacos 搭建 - MyDistance - 博客园 (cnblogs.com)
如果有这些错误提示
org.springframework.cloud.commons.ConfigDataMissingEnvironmentPostProcessor$ImportException: No spring.config.import set或者启动不了按这篇文章来一遍几乎都可以啦