【微服务~高级】配置中心实战

🔎这里是【微服务~高级】,关注我学习微服务不迷路
👍如果对你有帮助,给博主一个免费的点赞以示鼓励
欢迎各位🔎点赞👍评论收藏⭐️

👀专栏介绍

【微服务~高级】 目前主要更新微服务,一起学习一起进步。

👀本期介绍

本期主要介绍配置中心实战

文章目录

需求

基本环境

测试配置

默认

项目打包

nacos配置数据库

需求

  • 搭建用户测试服务

基本环境

  • 项目名:nacos-config-mysql-2.1

  • 添加坐标

<dependencies>
        <!-- web 启动器 -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

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

        <!--swagger2-->
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger2</artifactId>
        </dependency>
        <dependency>
            <groupId>io.springfox</groupId>
            <artifactId>springfox-swagger-ui</artifactId>
        </dependency>

        <!-- mybatis plus-->
        <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>mybatis-plus-boot-starter</artifactId>
        </dependency>

        <!-- mysql驱动 -->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
        </dependency>

        <!--lombok , @Data 等-->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>


    </dependencies>
  • 编写yml文件:bootstrap.yml

# 服务端口号
server:
  port: 7777
# 服务名
spring:
  application:
    name: user-service
  datasource:
    driverClassName: com.mysql.jdbc.Driver
    url: jdbc:mysql://127.0.0.1:3306/cloud_db5?useUnicode=true&characterEncoding=utf8
    username: root
    password: 1234
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848     # nacos 服务地址
        prefix: user                   # 3.1 前缀,默认 ${spring.application.name}
        file-extension: yaml            # 3.2 后缀
        group: DEFAULT_GROUP            # 3.3 组名

#开启log4j打印SQL语句
logging:
  level:
    com:
      czxy:
        changgou4:
          mapper: debug

# mp日志打印
mybatis-plus:
  configuration:
    log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

  • 编写sql语句
create database cloud_db5;
use cloud_db5;
CREATE TABLE t_user(
  id INT PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50)
);

create database cloud_db6;
use cloud_db6;
CREATE TABLE t_user(
  id INT PRIMARY KEY AUTO_INCREMENT,
  username VARCHAR(50)
);
  • 编写启动类

package com.czxy;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class UserApplication {
    public static void main(String[] args) {
        SpringApplication.run(UserApplication.class,args);
    }
}
  • 拷贝配置类

  • 编写domain  
package com.czxy.domain;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;


@TableName("t_user")
@Data
public class User {

    @TableId(type = IdType.AUTO)        //自动增强
    private Integer id;

    private String username;
}
  • 编写mapper
package com.czxy.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.czxy.domain.User;
import org.apache.ibatis.annotations.Mapper;


@Mapper
public interface UserMapper extends BaseMapper<User> {
}
  • 编写service

    • 接口

package com.czxy.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.czxy.domain.User;

public interface UserService extends IService<User> {
}
  • 实现类
package com.czxy.service.impl;

import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.czxy.domain.User;
import com.czxy.mapper.UserMapper;
import com.czxy.service.UserService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;


@Service
@Transactional
public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
}
  • 编写controller
package com.czxy.controller;

import com.czxy.domain.User;
import com.czxy.service.UserService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;


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

    @Resource
    private UserService userService;

    @PostMapping
    public String save(@RequestBody User user) {
        //添加
        boolean result = userService.save(user);
        //返回
        if(result) {
            return "添加成功";
        }
        return "添加失败";
    }
}

测试配置

默认

  • 提供数据库:cloud_db5

  • 对t_user表进行操作

http://localhost:7777/swagger-ui.html

项目打包

  • 以jar包的方式运行(运维人员)

  • 修改pom.xml文件,添加插件,用于指定jar的启动类

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <!--启动类-->
                <mainClass>com.czxy.UserApplication</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

打包

运行jar,在cmd命令窗口中

java -jar nacos-config-mysql-2.1-1.0-SNAPSHOT.jar 

nacos配置数据库

  • 提供数据库:cloud_db6

  • 在nacos中配置

server.port: 7776
spring.datasource.url: jdbc:mysql://127.0.0.1:3306/cloud_db6?useUnicode=true&characterEncoding=utf8
  • 必须操作:将服务重启 【不需要修改源码】

  • 测试

posted @ 2022-11-09 08:13  陶然同学  阅读(20)  评论(0编辑  收藏  举报