0
点赞
收藏
分享

微信扫一扫

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


【微服务~高级】配置中心实战_云原生

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

👀专栏介绍

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

👀本期介绍

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

文章目录

​​需求​​

​​基本环境​​

​​测试配置​​

​​默认​​

​​项目打包​​

​​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)
);

  • 编写启动类

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

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);
}
}

  • 拷贝配置类

【微服务~高级】配置中心实战_云原生_03

  • 编写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​​

【微服务~高级】配置中心实战_原力计划_04

项目打包

  • 以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>

打包

【微服务~高级】配置中心实战_原力计划_05

运行jar,在cmd命令窗口中

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

【微服务~高级】配置中心实战_原力计划_06

nacos配置数据库

  • 提供数据库:cloud_db6
  • 在nacos中配置

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

server.port: 7776
spring.datasource.url: jdbc:mysql://127.0.0.1:3306/cloud_db6?useUnicode=true&characterEncoding=utf8

  • 必须操作:将服务重启 【不需要修改源码】
  • 测试

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

举报

相关推荐

0 条评论