Springboot 加入nacos

本文介绍如何在Spring Boot项目中集成Nacos实现服务发现功能。具体包括配置Spring Boot版本为2.3.3.RELEASE,引入Nacos依赖版本0.2.3,并设置Nacos服务地址。同时展示了如何通过@NacosInjected注解和@Value获取配置,并在启动类中注册实例。

springboot 版本

	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

引入nacos依赖

		<!--nacos-->
        <dependency>
            <groupId>com.alibaba.boot</groupId>
            <artifactId>nacos-discovery-spring-boot-starter</artifactId>
            <version>0.2.3</version>
        </dependency>

增加配置文件

#nacos
nacos:
  discovery:
  # nacos服务的 ip+端口号
    server-addr: 172.16.5.180:8848

启动类注入

	@NacosInjected
	private NamingService namingService;
	@Value("${spring.application.name}")
	private String applicationName;
	@Value("${server.port}")
	private String port;
	@PostConstruct
	public void registerInstance() throws NacosException {
		namingService.registerInstance(applicationName,"127.0.0.1",Integer.valueOf(port));
	}
### 集成NacosSpring Boot项目 为了使Spring Boot应用程序能够利用Nacos作为配置中心和服务发现工具,需执行几个重要操作。首先,在项目的`pom.xml`文件中加入必要的依赖项来支持Nacos的功能[^1]。 #### 添加Maven依赖 ```xml <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId> </dependency> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> ``` 上述XML片段展示了用于引入Nacos配置管理和服务注册能力所需的两个主要依赖包。通过这种方式可以轻松地让应用连接至Nacos服务器并从中获取配置数据以及参与服务治理过程。 #### 修改application.properties/yml文件 为了让Spring Boot识别来自Nacos的外部化属性源,需要调整默认的应用程序设置文件(application.properties 或 application.yml),指定Nacos的相关参数如下所示: 对于`application.properties`: ```properties spring.application.name=demo-service spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 ``` 而对于采用YAML格式的情况,则应编写为: ```yaml spring: application: name: demo-service cloud: nacos: config: server-addr: 127.0.0.1:8848 discovery: server-addr: 127.0.0.1:8848 ``` 这里设置了服务名称(`demo-service`)和指向本地运行实例地址(localhost上的端口8848)的Nacos Server位置信息。这使得应用程序能够在启动期间自动向Nacos注册自身,并从那里加载特定于环境的配置详情。 #### 使用@EnableDiscoveryClient启用服务发现功能 如果希望当前微服务成为可被其他组件发现的服务提供者之一,则可以在主类上添加`@EnableDiscoveryClient`注解以激活此特性。不过需要注意的是,由于`@SpringBootApplication`已经隐含包含了该行为,因此通常情况下无需显式声明这一注解。 ```java @SpringBootApplication public class DemoServiceApplication { public static void main(String[] args) { SpringApplication.run(DemoServiceApplication.class, args); } } ``` 完成以上步骤之后,当重新编译并部署修改后的Spring Boot应用时,默认会尝试联系已配置好的Nacos集群来进行初始化工作——即同步最新的全局/命名空间级别下的键值对集合(即所谓的“配置管理”),同时也把自己作为一个可用节点上报给服务中心以便后续调用方查询定位。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值