0

0

在Java中如何搭建微服务开发环境_Java微服务环境准备说明

P粉602998670

P粉602998670

发布时间:2026-01-14 15:22:02

|

977人浏览过

|

来源于php中文网

原创

Spring Boot微服务应基于spring-boot-starter-parent快速初始化,选用LTS版本(如3.3.5),引入web和actuator起步依赖,禁用banner;注册中心优先选Nacos或Consul,避免Eureka和ZooKeeper;本地联调推荐Docker Compose编排Nacos、MySQL等组件;配置须严格区分bootstrap.yml(仅放引导级配置)与application.yml,通过spring.profiles.active指定环境。

在java中如何搭建微服务开发环境_java微服务环境准备说明

用 Spring Boot + Maven 快速初始化微服务模块

微服务不是从零写框架,而是基于约定优先的脚手架快速启动。Spring Boot 官方推荐用 spring-boot-starter-parent 作为父 POM,它统一管理依赖版本、插件配置和默认属性。不手动指定 spring-boot-dependencies 版本,否则容易触发 ClassNotFoundException 或自动配置失效。

关键操作点:

  • pom.xml 中声明 ,版本建议选 LTS(如 3.2.123.3.5),避免用 3.4.0-Mx 等里程碑版
  • 必须引入 spring-boot-starter-web(提供内嵌 Tomcat 和 REST 支持)和 spring-boot-starter-actuator(健康检查、指标暴露)
  • 禁用默认 banner:在 application.propertiesspring.main.banner-mode=off,减少日志干扰

  org.springframework.boot
  spring-boot-starter-parent
  3.3.5
  

注册中心选型:Eureka 已停更,优先用 Nacos 或 Consul

Eureka 2.x 自 2018 年起已停止维护,Netflix 官方明确标记为 deprecated。Spring Cloud 2022+ 版本默认移除对 Eureka 的原生支持,强行使用会导致 NoUniqueBeanDefinitionException 或服务无法注册。

替代方案对比:

立即学习Java免费学习笔记(深入)”;

  • Nacos:国产,同时支持服务发现 + 配置中心,控制台友好,spring-cloud-starter-alibaba-nacos-discovery 适配 Spring Boot 3 需搭配 spring-cloud-starter-loadbalancer
  • Consul:HashiCorp 出品,强一致性,但需额外部署 Agent,spring-cloud-starter-consul-discovery 默认启用 ACL,本地开发建议关掉 spring.cloud.consul.config.enabled=false
  • 别碰 ZooKeeper:CP 模型导致脑裂风险高,Spring Cloud ZooKeeper 3.x 对 Java 17+ 兼容性差

本地多服务联调:用 Docker Compose 启动依赖组件

微服务不是单体打包就能跑通。常见失败场景是服务 A 调用服务 B 时抛 Connection refused,本质是没启动注册中心或 MySQL/Redis 连不上。

来福FM
来福FM

来福 - 你的私人AI电台

下载

推荐用 docker-compose.yml 统一编排基础组件,而不是靠 IDE 手动启多个 Spring Boot 实例:

  • 注册中心(Nacos)端口映射到 8848,并挂载自定义 cluster.conf 避免集群模式误启
  • MySQL 用 mysql:8.0 镜像,显式设置 MYSQL_ROOT_PASSWORD,Spring Boot 配置里用 jdbc:mysql://mysql:3306/demo?serverTimezone=UTC(注意 host 是 mysql,不是 localhost
  • depends_on 保证启动顺序,但要配合 Spring Boot 的 spring.sql.init.mode=always 做初始化重试
services:
  nacos:
    image: nacos/nacos-server:v2.3.2
    ports: ["8848:8848"]
    environment:
      - MODE=standalone
  mysql:
    image: mysql:8.0
    environment:
      - MYSQL_ROOT_PASSWORD=123456

调试时别忽略 spring.profiles.active 和 bootstrap.yml

微服务配置加载顺序很关键:bootstrap.yml 优先于 application.yml 加载,且只被 Spring Cloud Config/Nacos 等外部配置中心读取。如果把 spring.cloud.nacos.server-addr 写在 application.yml 里,服务根本注册不上去。

另一个高频问题:本地开发切 dev 环境,但启动类没传参,spring.profiles.active 默认是 default,导致读不到 application-dev.yml

  • IDEA 启动配置里加 VM options:-Dspring.profiles.active=dev
  • bootstrap.yml 只放注册中心地址、配置中心地址、加密密钥等“引导级”配置
  • 禁止在 bootstrap.yml 里写业务属性(如 user.timeout=3000),会引发 IllegalStateException: Unable to load config data

配置加载链实际是:bootstrap.yml → 连接 Nacos → 拉取远程 application-dev.yml → 合并本地 application-dev.yml → 覆盖 application.yml

相关专题

更多
java
java

Java是一个通用术语,用于表示Java软件及其组件,包括“Java运行时环境 (JRE)”、“Java虚拟机 (JVM)”以及“插件”。php中文网还为大家带了Java相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

832

2023.06.15

java正则表达式语法
java正则表达式语法

java正则表达式语法是一种模式匹配工具,它非常有用,可以在处理文本和字符串时快速地查找、替换、验证和提取特定的模式和数据。本专题提供java正则表达式语法的相关文章、下载和专题,供大家免费下载体验。

737

2023.07.05

java自学难吗
java自学难吗

Java自学并不难。Java语言相对于其他一些编程语言而言,有着较为简洁和易读的语法,本专题为大家提供java自学难吗相关的文章,大家可以免费体验。

734

2023.07.31

java配置jdk环境变量
java配置jdk环境变量

Java是一种广泛使用的高级编程语言,用于开发各种类型的应用程序。为了能够在计算机上正确运行和编译Java代码,需要正确配置Java Development Kit(JDK)环境变量。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

397

2023.08.01

java保留两位小数
java保留两位小数

Java是一种广泛应用于编程领域的高级编程语言。在Java中,保留两位小数是指在进行数值计算或输出时,限制小数部分只有两位有效数字,并将多余的位数进行四舍五入或截取。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

398

2023.08.02

java基本数据类型
java基本数据类型

java基本数据类型有:1、byte;2、short;3、int;4、long;5、float;6、double;7、char;8、boolean。本专题为大家提供java基本数据类型的相关的文章、下载、课程内容,供大家免费下载体验。

446

2023.08.02

java有什么用
java有什么用

java可以开发应用程序、移动应用、Web应用、企业级应用、嵌入式系统等方面。本专题为大家提供java有什么用的相关的文章、下载、课程内容,供大家免费下载体验。

430

2023.08.02

java在线网站
java在线网站

Java在线网站是指提供Java编程学习、实践和交流平台的网络服务。近年来,随着Java语言在软件开发领域的广泛应用,越来越多的人对Java编程感兴趣,并希望能够通过在线网站来学习和提高自己的Java编程技能。php中文网给大家带来了相关的视频、教程以及文章,欢迎大家前来学习阅读和下载。

16925

2023.08.03

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

9

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
MySQL 教程
MySQL 教程

共48课时 | 1.7万人学习

MySQL 初学入门(mosh老师)
MySQL 初学入门(mosh老师)

共3课时 | 0.3万人学习

简单聊聊mysql8与网络通信
简单聊聊mysql8与网络通信

共1课时 | 791人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号