在idea使用nacos微服务

一.安装nacos

、依赖记得别放<dependencyManagement></dependencyManagement>这个标签去了

1.在linux拉取镜像安装

docker pull nacos/nacos-server:1.3.1

2.创建挂载目录 

mkdir -p /usr/local/docker/nacos/init.d /usr/local/docker/nacos/logs

3.安装nacos

docker run -d \
-p 8848:8848 \
-e MODE=standalone \
-e PREFER_HOST_NAME=hostname \
-v /usr/local/docker/nacos/init.d:/home/nacos/init.d \
-v /usr/local/docker/nacos/logs:/home/nacos/logs \
--name nacos nacos/nacos-server:1.3.1

看看有没有启动nacos

 docker ps

二.注册中心

1.idea创建maven项目

 

 

2.加依赖

在pom.xml文件里加入依赖,等待的时间有点长,耐心等待。

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.7.RELEASE</version>
    </parent>

    <properties>
        <java.version>1.8</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-boot.version>2.6.13</spring-boot.version>
        <jwt.version>0.7.0</jwt.version>
        <fastjson.version>1.2.60</fastjson.version>
        <spring-cloud-alibaba.version>2.0.3.RELEASE</spring-cloud-alibaba.version>
        <spring-cloud.version>Finchley.SR2</spring-cloud.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <!--json-->
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
            <version>${fastjson.version}</version>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <classifier>exec</classifier>
                </configuration>
            </plugin>
        </plugins>
    </build>

3.编写bootstrap.yml配置文件

在resources下创建bootstrap.yml配置文件

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.130.39:8848

4.编写application.properties配置文件

在resources下创建application.properties配置文件

 

5.创建启动类并启动

注意我这里的启动类放com.jr下面了,而不是com下面,因为nacos云默认有一个com包,如果我们只是写com,它无法识别我们的项目,只要我们把启动类放在com.jr或者是com.其它的地方就能识别了。还有启动前一定要保证自己的nacos在运行状态。

package com.jr;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SpringBootMain {
    public static void main(String[] args) {
        SpringApplication.run(SpringBootMain.class,args);
    }
}

6.登录nacos网页

随便找个浏览器然后在上面输入下面的地址

 用户和密码都是nacos

登录成功后的页面:

 然后我们点击左边的服务管理里的服务列表,就可以看到我们刚刚在配置文件创建的名字服务了,表示注册成功,然后我们点击它右边的详情。

 三.配置中心

1.创建并修改application.yml

server:
  port: 99

common:
 name: zhangsan
  age: 20

 

2.创建控制器类

package com.jr.controller;

import lombok.Setter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/user")
@Setter
public class UserController {

    @Value("${common.name}")
    private String name;

    @Value("${common.age}")
    private Integer age;

    @GetMapping
    public String test(){
        return name+"----"+age;
    }

}

3.启动项目

在自己浏览器上输入以下地址

4.在pom.xml再次添加依赖 

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

5.创建命名空间 

我们再回到nacos网页,去创建命名空间。

6.配置中心添加配置文件

 

再创建一个

点返回,回到首页。

 

7.修改bootstrap.yml配置文件  

spring:
  cloud:
    nacos:
      discovery:
        server-addr: 192.168.130.39:8848
      config:
        server-addr: 192.168.130.39:8848
        file-extension: yaml
        namespace: 8920c585-274d-477f-b55f-9324be8da9bd
        shared-configs:
          - data-id: dierge.yaml
            group: DEFAULT_GROUP
          - data-id: woshidierge.yaml
            group: DEFAULT_GROUP
    inetutils:
      preferred-networks: 192.168.116

下面几个地方我简单说下,

server-addr是你在注册操作时候的ip和端口

file-extension是你在配置中心添加配置文件时候的类型.

namespace能在你的配置管理的配置列表上面找到:

shared-configs是你两个配置的id和group,也能在上面的图片找到

 preferred-networks能在服务管理的服务列表找到,记得你的把上面的换为public才行,然后点进服务的详情里面,下面就是preferred-networks

8.启动项目

在浏览器中输入如下地址。

 到这就结束了,下面是我的idea项目的结构,大家也可以做参考,大家加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值