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

举报
陶然同学 发表于 2022/07/17 23:00:23 2022/07/17
【摘要】 🔎这里是【微服务~高级】,关注我学习微服务不迷路 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【微服务~高级】 目前主要更新微服务,一起学习一起进步。 👀本期介绍 本期主要介绍配置中心实战 文章目录 需求 基本环境 测试配置 默认 项目打包 nacos配...

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

👀专栏介绍

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

👀本期介绍

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

文章目录

需求

基本环境

测试配置

默认

项目打包

nacos配置数据库

需求

  • 搭建用户测试服务

基本环境

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

  • 添加坐标


  
  1. <dependencies>
  2. <!-- web 启动器 -->
  3. <dependency>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-starter-web</artifactId>
  6. </dependency>
  7. <!-- nacos 配置-->
  8. <dependency>
  9. <groupId>com.alibaba.cloud</groupId>
  10. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  11. </dependency>
  12. <!--swagger2-->
  13. <dependency>
  14. <groupId>io.springfox</groupId>
  15. <artifactId>springfox-swagger2</artifactId>
  16. </dependency>
  17. <dependency>
  18. <groupId>io.springfox</groupId>
  19. <artifactId>springfox-swagger-ui</artifactId>
  20. </dependency>
  21. <!-- mybatis plus-->
  22. <dependency>
  23. <groupId>com.baomidou</groupId>
  24. <artifactId>mybatis-plus-boot-starter</artifactId>
  25. </dependency>
  26. <!-- mysql驱动 -->
  27. <dependency>
  28. <groupId>mysql</groupId>
  29. <artifactId>mysql-connector-java</artifactId>
  30. </dependency>
  31. <!--lombok , @Data 等-->
  32. <dependency>
  33. <groupId>org.projectlombok</groupId>
  34. <artifactId>lombok</artifactId>
  35. </dependency>
  36. </dependencies>
  • 编写yml文件:bootstrap.yml


  
  1. # 服务端口号
  2. server:
  3. port: 7777
  4. # 服务名
  5. spring:
  6. application:
  7. name: user-service
  8. datasource:
  9. driverClassName: com.mysql.jdbc.Driver
  10. url: jdbc:mysql://127.0.0.1:3306/cloud_db5?useUnicode=true&characterEncoding=utf8
  11. username: root
  12. password: 1234
  13. cloud:
  14. nacos:
  15. config:
  16. server-addr: 127.0.0.1:8848 # nacos 服务地址
  17. prefix: user # 3.1 前缀,默认 ${spring.application.name}
  18. file-extension: yaml # 3.2 后缀
  19. group: DEFAULT_GROUP # 3.3 组名
  20. #开启log4j打印SQL语句
  21. logging:
  22. level:
  23. com:
  24. czxy:
  25. changgou4:
  26. mapper: debug
  27. # mp日志打印
  28. mybatis-plus:
  29. configuration:
  30. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
  • 编写sql语句

  
  1. create database cloud_db5;
  2. use cloud_db5;
  3. CREATE TABLE t_user(
  4. id INT PRIMARY KEY AUTO_INCREMENT,
  5. username VARCHAR(50)
  6. );
  7. create database cloud_db6;
  8. use cloud_db6;
  9. CREATE TABLE t_user(
  10. id INT PRIMARY KEY AUTO_INCREMENT,
  11. username VARCHAR(50)
  12. );
  • 编写启动类


  
  1. package com.czxy;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. @SpringBootApplication
  5. public class UserApplication {
  6. public static void main(String[] args) {
  7. SpringApplication.run(UserApplication.class,args);
  8. }
  9. }
  • 拷贝配置类

  • 编写domain  

  
  1. package com.czxy.domain;
  2. import com.baomidou.mybatisplus.annotation.IdType;
  3. import com.baomidou.mybatisplus.annotation.TableId;
  4. import com.baomidou.mybatisplus.annotation.TableName;
  5. import lombok.Data;
  6. @TableName("t_user")
  7. @Data
  8. public class User {
  9. @TableId(type = IdType.AUTO) //自动增强
  10. private Integer id;
  11. private String username;
  12. }
  • 编写mapper

  
  1. package com.czxy.mapper;
  2. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  3. import com.czxy.domain.User;
  4. import org.apache.ibatis.annotations.Mapper;
  5. @Mapper
  6. public interface UserMapper extends BaseMapper<User> {
  7. }
  • 编写service

    • 接口


  
  1. package com.czxy.service;
  2. import com.baomidou.mybatisplus.extension.service.IService;
  3. import com.czxy.domain.User;
  4. public interface UserService extends IService<User> {
  5. }
  • 实现类

  
  1. package com.czxy.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.czxy.domain.User;
  4. import com.czxy.mapper.UserMapper;
  5. import com.czxy.service.UserService;
  6. import org.springframework.stereotype.Service;
  7. import org.springframework.transaction.annotation.Transactional;
  8. @Service
  9. @Transactional
  10. public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements UserService {
  11. }
  • 编写controller

  
  1. package com.czxy.controller;
  2. import com.czxy.domain.User;
  3. import com.czxy.service.UserService;
  4. import org.springframework.web.bind.annotation.PostMapping;
  5. import org.springframework.web.bind.annotation.RequestBody;
  6. import org.springframework.web.bind.annotation.RequestMapping;
  7. import org.springframework.web.bind.annotation.RestController;
  8. import javax.annotation.Resource;
  9. @RestController
  10. @RequestMapping("/user")
  11. public class UserController {
  12. @Resource
  13. private UserService userService;
  14. @PostMapping
  15. public String save(@RequestBody User user) {
  16. //添加
  17. boolean result = userService.save(user);
  18. //返回
  19. if(result) {
  20. return "添加成功";
  21. }
  22. return "添加失败";
  23. }
  24. }

测试配置

默认

  • 提供数据库:cloud_db5

  • 对t_user表进行操作

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

项目打包

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

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


  
  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <configuration>
  7. <!--启动类-->
  8. <mainClass>com.czxy.UserApplication</mainClass>
  9. </configuration>
  10. </plugin>
  11. </plugins>
  12. </build>

打包

运行jar,在cmd命令窗口中

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

nacos配置数据库

  • 提供数据库:cloud_db6

  • 在nacos中配置


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

  • 测试

文章来源: blog.csdn.net,作者:陶然同学,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/weixin_45481821/article/details/125333599

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。