前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot整合Nacos服务注册中心

SpringBoot整合Nacos服务注册中心

原创
作者头像
甄士隐
修改2022-01-27 11:40:37
6830
修改2022-01-27 11:40:37
举报
文章被收录于专栏:混合云

Spring Boot整合Nacos与在Spring Cloud整合不太一样,具体请看:https://nacos.io/zh-cn/

1.添加依赖

代码语言:html
复制
<!-- Nacos 组件依赖 -->
<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-discovery-spring-boot-starter</artifactId>
    <version>0.2.3</version>
</dependency>
<dependency>
    <groupId>com.alibaba.boot</groupId>
    <artifactId>nacos-config-spring-boot-starter</artifactId>
    <version>0.2.3</version>
</dependency>

2.编写配置

代码语言:yaml
复制
# nacos 配置
nacos:
  config:
    server-addr: 127.0.0.1:8848
  discovery:
    access-key: nacos
    secret-key: nacos
    server-addr: 127.0.0.1:8848
    enabled: true

3.核心配置

代码语言:java
复制
package cn.jxd.caixibei.config;
import com.alibaba.nacos.api.annotation.NacosInjected;
import com.alibaba.nacos.api.exception.NacosException;
import com.alibaba.nacos.api.naming.NamingService;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import javax.annotation.PostConstruct;
/**
 * Nacos核心配置 注册服务
 * @author caixibei
 */
@Configuration
public class NacosConfig {
    /**
     * 端口
     */
    @Value("${server.port}")
    private int serverPort;
    /**
     * 应用名
     */
    @Value("${spring.application.name}")
    private String applicationName;
    /**
     * NamingService
     */
    @NacosInjected
    private NamingService namingService;

    /**
     * 初始化实例
     * @throws NacosException
     */
    @PostConstruct
    public void registerInstance() throws NacosException {
        namingService.registerInstance(applicationName, "127.0.0.1", serverPort);
    }
}

3.修改启动类

代码语言:java
复制
package cn.jxd.caixibei;

import com.alibaba.nacos.spring.context.annotation.config.NacosPropertySource;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.core.env.Environment;
import springfox.documentation.oas.annotations.EnableOpenApi;
/**
 * 程序入口
 * @author CAIXB
 */
@SpringBootApplication(scanBasePackages = "cn.jxd.caixibei")
@ComponentScan(basePackages = "cn.jxd.caixibei")
@MapperScan(basePackages = "cn.jxd.caixibei.mapper")
@EnableOpenApi
@Slf4j
@NacosPropertySource(dataId = "sys-jyglxt.yaml",groupId = "DEFAULT_GROUP",autoRefreshed = true)
public class JyglxtApplication {
    public static void main(String[] args) {
        ConfigurableApplicationContext context = SpringApplication.run(JyglxtApplication.class, args);
        Environment environment = context.getBean(Environment.class);
        log.info("---------------------------------------------------------");
        log.info("系统访问路径:http://localhost:"+environment.getProperty("server.port")+"/jyglxt/index/");
        log.info("Swagger访问路径:http://localhost:"+environment.getProperty("server.port")+"/swagger-ui/");
        log.info("WebSocket测试路径:ws://localhost:"+environment.getProperty("server.port")+"/ws/api/10/");
        log.info("SQL监控平台:http://localhost:"+environment.getProperty("server.port")+"/druid/");
        log.info("Nacos注册中心:http://localhost:8848/nacos/");
        log.info("---------------------------------------------------------");
        log.info(environment.getProperty("jyglxt"));
    }
}

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
微服务引擎 TSE
微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档