😀前言
本篇博文是关于SpringCloud Alibaba Nacos简单应用,希望你能够喜欢
🏠个人主页:晨犀主页
🧑个人简介:大家好,我是晨犀,希望我的文章可以帮助到大家,您的满意是我的动力😉😉
💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
如果文章有什么需要改进的地方还请大佬不吝赐教 先在此感谢啦😊
文章目录
- SpringCloud Alibaba Nacos
- 创建Nacos 服务提供者
- 需求说明/图解
- 创建member-service-nacos-provider-10006 并注册到NacosServer8848
- 创建member-service-nacos-provider-10006
- 修改本模块pom.xml
- 创建application.yml
- 创建主启动类
- 为看到更好提示,修改Controller
- 测试
- 观察nacos 服务是否注册成功
- 浏览器输出: http://localhost:10006/member/get/1
SpringCloud Alibaba Nacos
创建Nacos 服务提供者
需求说明/图解
创建member-service-nacos-provider-10006 并注册到NacosServer8848
创建member-service-nacos-provider-10006
- 参考member-service-nacos-provider-10004 来创建member-service-nacos-provider-10006 即可
- 创建好后, 使用member-service-nacos-provider-10004 的源码和配置替换member-service-nacos-provider-10006 生成的代码
- 提醒,拷贝时不要忘记拷贝resources/mapper/MemberMapper.xml 这些xxx.xml 文件
修改本模块pom.xml
- 将member-service-provider-10000 的pom.xml 的…拷贝过来,修改即可
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><parent><artifactId>e-commerce-center</artifactId><groupId>com.my.springcloud</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>member-service-nacos-provider-10006</artifactId><!--引入相关的依赖--><dependencies><!--引入nacos-starter nacos的场景启动器starter --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-nacos-discovery</artifactId></dependency><!--引入web-starter 说明我们使用版本仲裁(从父项目继承了版本)--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><!--引入mybatis-starter 整合到springboot--><dependency><groupId>org.mybatis.spring.boot</groupId><artifactId>mybatis-spring-boot-starter</artifactId></dependency><!--引入druid-starter--><dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boot-starter</artifactId><!--这里需要我们指定版本, 因为父项目没有--><version>1.1.17</version></dependency><!--引入mysql依赖,使用版本仲裁--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency><!--spring-boot-start-jdbc引入--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><optional>true</optional></dependency><!--引入test-starter--><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId></dependency><!--引入公共模块--><dependency><groupId>com.my.springcloud</groupId><artifactId>e_commerce_center-common-api</artifactId><version>${project.version}</version></dependency></dependencies>
</project>
创建application.yml
- 将member-service-nacos-provider-10004 的application.yml 拷贝过来,修改端口即可
server:port: 10006spring:application:name: member-service-nacos-provider #配置应用的名称datasource:type: com.alibaba.druid.pool.DruidDataSourceurl: jdbc:mysql://localhost:3306/e_commerce_center_db?useSSL=true&useUnicode=true&characterEncoding=UTF-8username: rootpassword: 123456#配置nacoscloud:nacos:discovery:server-addr: localhost:8848 #配置Nacos Server的地址
#配置暴露所有的监控点
management:endpoints:web:exposure:include: '*'
#配置mybatis
mybatis:mapper-locations: classpath:mapper/*.xml #指定mapper.xml文件位置type-aliases-package: com.my.springcloud.entity # 实例类所在的包,这样通过类名就可以引用
创建主启动类
- 创建主启动类MemberNacosProviderApplication10006
//@EnableDiscoveryClient 引入的是Nacos发现注解
@EnableDiscoveryClient
@SpringBootApplication
public class MemberNacosProviderApplication10006 {public static void main(String[] args) {SpringApplication.run(MemberNacosProviderApplication10006.class,args);}
}
为看到更好提示,修改Controller
- 修改com/my/springcloud/controller/MemberController.java 的输出信息
@RestController
@Slf4j
public class MemberController {//装配MemberService@Resourceprivate MemberService memberService;//添加方法/接口//说明//1. 我们的前端如果是以json格式来发送添加信息Member, 那么我们需要使用@RequestBody// , 才能将数据封装到对应的bean, 同时保证http的请求头的 content-type是对应//2. 如果前端是以表单形式提交了,则不需要使用@RequestBody, 才会进行对象参数封装, 同时保证// http的请求头的 content-type是对应@PostMapping("/member/save")public Result save(@RequestBody Member member) {log.info("service-provider member={}", member);int affected = memberService.save(member);if (affected > 0) { //说明添加成功return Result.success("添加会员成功 member-service-nacos-provider-10006", affected);} else {return Result.error("401", "添加会员失败");}}//查询的方法/接口//这里使用url占位符+@PathVariable@GetMapping("/member/get/{id}")//public Result getMemberById(@PathVariable("id") Long id, HttpServletRequest request) {public Result getMemberById(@PathVariable("id") Long id) {Member member = memberService.queryMemberById(id);//使用Result把查询到的结果返回if (member != null) {//return Result.success("查询会员成功 member-service-provider-10000 " + color + "-" + address, member);return Result.success("查询会员成功 member-service-nacos-provider-10006", member);} else {return Result.error("402", "ID= " + id + "不存在");}}
}
测试
保证Nacos Server 8848 是启动的
启动member-service-nacos-provider-10006
观察nacos 服务是否注册成功
浏览器输出: http://localhost:10006/member/get/1
文章到这里就结束了,如果有什么疑问的地方请指出,诸大佬们一起来评论区一起讨论😁
希望能和诸大佬们一起努力,今后我们一起观看感谢您的阅读🍻
如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞