PassJava 学习教程

简介

  • PassJava-Learning项目是PassJava(佳必过)项目的学习教程。对架构、业务、技术要点进行讲解。
  • PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础。
  • PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目
  • 采用流行的技术,如 SpringBoot、MyBatis、Redis、 MySql、 MongoDB、 RabbitMQ、Elasticsearch,采用Docker容器化部署。

更好的阅读体验

  • 文档地址:http://www.jayh.club
  • 备用地址:https://jackson0714.github.io/PassJava-Learning

文档连载目录

  • 打造一款 刷Java 知识的小程序
  • 打造一款 刷Java 知识的小程序(二)
  • 01.五分钟搞懂分布式基础概念
  • 02.快速搭建Linux环境-运维必备
  • 03.配置虚拟机网络
  • 04.安装Docker
  • 05.Docker安装mysql
  • 06.Docker安装redis
  • 07.本地开发环境配置
  • 08.配置Git
  • 09.初始化项目和添加微服务
  • 10.PassJava-微服务划分图
  • 11.初始化数据库和表
  • 12.搭建管理后台
  • 13.自动生成前后端代码
  • 14.整合MyBatis-Plus实现CRUD
  • 15.生成所有微服务的CRUD代码
  • 16.Spring Cloud Alibaba 组件简介
  • 17.SpringCloud整合Alibaba-Nacos组件
  • 18.SpringCloud整合OpenFeign组件

整合Spring Cloud Alibaba Nacos组件

Nacos 是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

1.引入Nacos 服务发现组件

passjava-common模块的pom.xml文件引入Nacos 服务发现组件



<!-- nacos discovery 服务发现组件-->
<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>



2.下载Nacos Server并启动

  • 下载Nacos Server 压缩包

https://github.com/alibaba/nacos/releases

启动 Server,进入解压后文件夹或编译打包好的文件夹,找到如下相对文件夹 nacos/bin,并对照操作系统实际情况之下如下命令。

  1. Linux/Unix/Mac 操作系统,执行命令 sh startup.sh -m standalone
  2. Windows 操作系统,执行命令 cmd startup.cmd

windows执行startupm.cmd遇到问题:



λ startup.cmd                                                      
 Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better!



解决方案:

修改startup.cmd文件中的%JAVA_HOME%



%JAVA_HOME% 替换为 C:Program FilesJavajdk1.8.0_131



启动成功:




springcloud五大组件代码配置 springcloud五大组件nacos_docker配置 nacos


3.每个微服务都配置Nacos Server 地址

  • 配置Nacos Server 地址

在passjava-question、passjava-channel、passjava-content、passjava-member、passjava-study 应用的 /src/main/resources/application.yml配置文件中配置 Nacos Server 地址


spring:
   cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848


4.添加注解

为每个服务使用 @EnableDiscoveryClient 注解开启服务注册与发现功能


@EnableDiscoveryClient
@MapperScan("com.jackson0714.passjava.question.dao")
@SpringBootApplication
public class PassjavaQuestionApplication {

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

}


5.配置微服务的名称


spring:
  application:
    name: passjava-question


6.访问nacos server后台

  • 登录后台

http://localhost:8848/nacos/index.html#/login

用户名:nacos

密码:nacos


springcloud五大组件代码配置 springcloud五大组件nacos_linux nacos启动_02


  • 查看已注册的服务
passjava-channel 渠道微服务
passjava-member 用户微服务
passjava-study 学习微服务
passjava-question 问题微服务
passjava-content 内容微服务


springcloud五大组件代码配置 springcloud五大组件nacos_springcloud五大组件代码配置_03

代码地址

https://github.com/Jackson0714/PassJava-Platform