SpringCloud微服务实战——搭建企业级开发框架(二):环境准备【上】

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
简介: 这里简单说明一下在Windows系统下开发SpringCloud项目所需要的的基本环境,这里只说明开发过程中基础必须的软件,其他扩展功能(Docker,k8s,MinIO,XXL-JOB,EKL,Keepalived,Nginx,RabbitMQ,Kafka等)用到的软件会在具体使用时详细说明,本地开发的环境软件以Windows版本的安装配置为例,数据库等中间件以Linux(CentOS7)的安装配置为例,其他系统Mac/Linux可自行配置

 这里简单说明一下在Windows系统下开发SpringCloud项目所需要的的基本环境,这里只说明开发过程中基础必须的软件,其他扩展功能(Docker,k8s,MinIO,XXL-JOB,EKL,Keepalived,Nginx,RabbitMQ,Kafka等)用到的软件会在具体使用时详细说明,本地开发的环境软件以Windows版本的安装配置为例,数据库等中间件以Linux(CentOS7)的安装配置为例,其他系统Mac/Linux可自行配置。


    后端开发需要准备的环境及软件有:JDK 1.8+,Maven 3.6.3+,Mysql 5.7.11+,Redis 5.0+,Nacos 1.4.0+,Sentinel 1.8.0+,IntelliJ IDEA 2020.2.1


    前端开发需要准备的环境及软件有:Node.js 15.9.0+,npm/cnpm/yarn,Visual Studio Code


    实际上环境软件可以使用Docker安装,更加简单方便,如果说自己为了更详细地了解各项配置及安装原理,还是通过软件包一步步安装配置(这里暂不深入讨论数据库、消息中间件等应不应该使用Docker安装的问题),以下为详细安装操作步骤,不是小白请略过...


后端开发所需环境及软件安装步骤:


一、安装JDK


    2019年4月16日,Oracle发布了Oracle JDK的8u211和8u 212两个版本(属于JDK8系列),并从这两个版本开始将JDK的授权许可从BCL换成了OTN,也就是从这两个版本开始商用收费。当然,个人开发和测试并不会收费,那么商用环境我们可以有两个选择: 下载之前的版本(2019年1月15日发布的Oracle JDK 8u201和8u202)进行使用或者选择使用OpenJDK目前我们一般的做法是在本地开发环境使用Oracle JDK ,在测试环境和正式环境中使用OpenJDK。为了保持使用的特性一致,需选择合适的版本。


我们这里在开发过程中选择使用Oracke JDK, Oracle JDK官网下载选择页面已标注好8u211后面的版本和8u202之前的版本方便下载,https://www.oracle.com/java/technologies/oracle-java-archive-downloads.html


微信图片_20220518140908.png

Oracle JDK官网下载页


  1. 选择JDK免费版进行下载,根据自己合适的Windows系统版本下载,我这里选择Windows x64版本,提前做好Oracke JDK网站的系统注册和登录,否则在下载过程中会提示登录选择页面

微信图片_20220518140905.png
Oracle JDK下载页


  1. 双击下载的Oracle JDK进行安装,根据提示一步步地点击下一步即可:

    微信图片_20220518140902.png
    安装1

    微信图片_20220518140857.png
    安装2

    微信图片_20220518140853.png
    安装3

    微信图片_20220518140850.png
    安装4

    微信图片_20220518140847.png
    安装5

    微信图片_20220518140844.png
    安装6


  1. 配置环境变量:

在系统环境变量中添加JAVA_HOME和 CLASSPATH,并将JAVA的bin目录加入到path中

微信图片_20220518140840.png
环境变量1

微信图片_20220518140837.png
环境变量2


  1. 验证是否安装配置成功:

运行 -> cmd命令窗口,在命令行中输入:java -version,下面出现版本信息说明安装配置成功。

微信图片_20220518140833.png
Java版本信息


二、安装Maven


    我们的SpringCloud项目使用Maven进行构建和依赖管理,Maven 的 Snapshot 版本与 Release 版本:1、Snapshot 版本代表不稳定、尚处于开发中的版本;2、Release 版本则代表稳定的版本。Gradle 作为构建工具最近几年也比流行,和Maven比较各有优缺点吧,如果说哪一个比较好,这个仁者见仁智者见智,我们这里仍选择Maven进行项目构建。


  1. 下载安装:
    Maven(http://maven.apache.org/download.cgi)需要JDK的支持,我们这里选择最新的Manven版本3.6.3,需要JDK1.7以上的支持,JDK的安装以及配置在上面我们已经完成。 下载Maven的zip包: apache-maven-3.6.3-bin.zip

微信图片_20220518140830.png
Maven下载页


  1. 配置环境:

在系统环境变量中添加 M2_HOME 和 MAVEN_HOME,最后在PATH中添加Maven的bin目录: %MAVEN_HOME%\bin

微信图片_20220518140827.png
M2_HOME 和 MAVEN_HOME

微信图片_20220518140822.png
path


  1. 验证是否安装配置成功:

运行 -> cmd命令窗口,在命令行中输入:mvn -version ,如下图所示,展示版本信息说明安装配置成功。

微信图片_20220518140819.png
Maven版本信息


  1. 注册阿里云私服并获取私服仓库地址:


我们可以选择安装Nexus作为Maven仓库管理器,也可以使用阿里云提供的Maven私服,配置方式都是一样的,这里我们选择使用阿里云的Maven私服,如果是企业使用,这里建议申请私有仓库:


微信图片_20220518140816.png
阿里Maven仓库

微信图片_20220518140812.png
私有仓库

微信图片_20220518140807.png
私有仓库地址

5、配置Maven私服地址和本地仓库路径,请按下面的注释进行替换为自己的私有仓库信息。


<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
        <!--请替换为自己本地的仓库地址-->
    <localRepository>D:\maven\repository</localRepository>
    <mirrors>
        <mirror>
            <id>mirror</id>
            <mirrorOf>!rdc-releases,!rdc-snapshots</mirrorOf>
            <name>mirror</name>
            <url>http://maven.aliyun.com/nexus/content/groups/public</url>
        </mirror>
    </mirrors>
    <servers>
        <server>
            <id>rdc-releases</id>
            <username>用户名/密码请替换为自己阿里云仓库的</username>
            <password>用户名/密码请替换为自己阿里云仓库的</password>
        </server>
        <server>
            <id>rdc-snapshots</id>
            <username>用户名/密码请替换为自己阿里云仓库的</username>
            <password>用户名/密码请替换为自己阿里云仓库的</password>
        </server>
    </servers>
    <profiles>
        <profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>snapshots</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>rdc-releases</id>
                   <!--下面的url替换为自己的阿里云私服地址-->
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </repository>
                <repository>
                    <id>rdc-snapshots</id>
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </repository>
            </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>central</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>snapshots</id>
                    <url>http://maven.aliyun.com/nexus/content/groups/public</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>rdc-releases</id>
                   <!--下面的url替换为自己的阿里云私服地址-->
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>false</enabled>
                    </snapshots>
                </pluginRepository>
                <pluginRepository>
                    <id>rdc-snapshots</id>
                    <!--下面的url替换为自己的阿里云私服地址-->
                    <url>替换为自己的阿里云私服地址</url>
                    <releases>
                        <enabled>false</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                    </snapshots>
                </pluginRepository>
            </pluginRepositories>
        </profile>
    </profiles>
    <activeProfiles>
        <activeProfile>nexus</activeProfile>
    </activeProfiles>
</settings>


相关文章
|
24天前
|
JSON Java API
利用Spring Cloud Gateway Predicate优化微服务路由策略
Spring Cloud Gateway 的路由配置中,`predicates`​(断言)用于定义哪些请求应该匹配特定的路由规则。 断言是Gateway在进行路由时,根据具体的请求信息如请求路径、请求方法、请求参数等进行匹配的规则。当一个请求的信息符合断言设置的条件时,Gateway就会将该请求路由到对应的服务上。
134 69
利用Spring Cloud Gateway Predicate优化微服务路由策略
|
8天前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
52 16
|
11天前
|
监控 JavaScript 数据可视化
建筑施工一体化信息管理平台源码,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
智慧工地云平台是专为建筑施工领域打造的一体化信息管理平台,利用大数据、云计算、物联网等技术,实现施工区域各系统数据汇总与可视化管理。平台涵盖人员、设备、物料、环境等关键因素的实时监控与数据分析,提供远程指挥、决策支持等功能,提升工作效率,促进产业信息化发展。系统由PC端、APP移动端及项目、监管、数据屏三大平台组成,支持微服务架构,采用Java、Spring Cloud、Vue等技术开发。
|
16天前
|
Java 关系型数据库 数据库
微服务SpringCloud分布式事务之Seata
SpringCloud+SpringCloudAlibaba的Seata实现分布式事务,步骤超详细,附带视频教程
39 1
|
4月前
|
SpringCloudAlibaba API 开发者
新版-SpringCloud+SpringCloud Alibaba
新版-SpringCloud+SpringCloud Alibaba
|
1天前
|
人工智能 安全 Java
AI 时代:从 Spring Cloud Alibaba 到 Spring AI Alibaba
本次分享由阿里云智能集团云原生微服务技术负责人李艳林主讲,主题为“AI时代:从Spring Cloud Alibaba到Spring AI Alibaba”。内容涵盖应用架构演进、AI agent框架发展趋势及Spring AI Alibaba的重磅发布。分享介绍了AI原生架构与传统架构的融合,强调了API优先、事件驱动和AI运维的重要性。同时,详细解析了Spring AI Alibaba的三层抽象设计,包括模型支持、工作流智能体编排及生产可用性构建能力,确保安全合规、高效部署与可观测性。最后,结合实际案例展示了如何利用私域数据优化AI应用,提升业务价值。
|
25天前
|
SpringCloudAlibaba 负载均衡 Dubbo
【SpringCloud Alibaba系列】Dubbo高级特性篇
本章我们介绍Dubbo的常用高级特性,包括序列化、地址缓存、超时与重试机制、多版本、负载均衡。集群容错、服务降级等。
【SpringCloud Alibaba系列】Dubbo高级特性篇
|
25天前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
25天前
|
SpringCloudAlibaba JavaScript Dubbo
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
本文介绍了 Dubbo-Admin 的安装和使用步骤。Dubbo-Admin 是一个前后端分离的项目,前端基于 Vue,后端基于 Spring Boot。安装前需确保开发环境(Windows 10)已安装 JDK、Maven 和 Node.js,并在 Linux CentOS 7 上部署 Zookeeper 作为注册中心。
【SpringCloud Alibaba系列】Dubbo dubbo-admin安装教程篇
|
25天前
|
SpringCloudAlibaba Dubbo Java
【SpringCloud Alibaba系列】Dubbo基础入门篇
Dubbo是一款高性能、轻量级的开源Java RPC框架,提供面向接口代理的高性能RPC调用、智能负载均衡、服务自动注册和发现、运行期流量调度、可视化服务治理和运维等功能。
【SpringCloud Alibaba系列】Dubbo基础入门篇