您现在的位置是:首页 >学无止境 >创建一个springCloud+nacos项目网站首页学无止境

创建一个springCloud+nacos项目

灰鹭 2024-06-17 11:28:33
简介创建一个springCloud+nacos项目

一、文件结构

需要创建的几个文件
1、DemoController  # Controller
2、StartMod1  #启动类
3、utils #没用
4、bootstrap.yml # 配置文件

在这里插入图片描述

一、创建springCloud项目

1、mvn


    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Hoxton.SR9</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-dependencies</artifactId>
                <version>2.3.2.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.6.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <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>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

2、创建DemoController.class

package com.yang.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/demo")
public class DemoController {

    @Value("${mysql.url}")
    private String url ;

    @Value("${mysql.user}")
    private String user ;

    @Value("${mysql.pass}")
    private String password ;
    

    /**
     * 获取配置文件信息
     */
    @PostMapping("de")
    public String getMysqlDe(){
        return "url:"+url+" user:"+user+" pass"+password ;
    }
}

3、创建StartMod1.class 启动类

package com.yang;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
@EnableDiscoveryClient
public class StartMod1 {

    public static void main(String[] args) {
        ConfigurableApplicationContext run = SpringApplication.run(StartMod1.class, args);
    }
}

4、创建bootstrap.yml 文件

spring:
  application:
    name: mod1
  cloud:
    nacos:
      discovery: #注册中心
        server-addr: 127.0.0.1:8848  # nacos地址
        group: yyy       #分组
        namespace: dev   #命名空间
        username: nacos  #nacos 账号
        password: nacos  #naocs 密码
      config:   #配置中心
        server-addr: 127.0.0.1:8848 # nacos地址
        username: nacos      #账号
        password: nacos      #密码
        group: yyy           #分组
        file-extension: yaml #文件类型
        namespace: dev       #命名空间
        shared-configs:     # 扩展配置文件集合
          - data-id: mysql  # mysql配置文件
            refresh: true   # 开启自动刷新
            group: yyy      # 分组
          - data-id: redis  # redis配置文件
            refresh: true   # 开启自动刷新
            group: yyy      # 分组

三、nacos创建配置文件

在这里插入图片描述

1、创建dev名空间

在这里插入图片描述

1、创建配置文件

在这里插入图片描述

映射关系如下:

在这里插入图片描述

2、创建mysql扩展文件

注意:扩展配置文件只 支持Properties

在这里插入图片描述

mysql文件映射如下:

在这里插入图片描述

3、创建redis扩展文件

和创建mysql差不多

在这里插入图片描述

四、测试

测试接口:127.0.0.1:8083/demo/de

在这里插入图片描述

五、注意

bootstrap.yml 配置中戏记得给账号密码
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。