3、开发环境搭建:JDK、Maven、Git、Docker、MySQL、Redis、IDEA插件安装与配置、本地开发环境验证

说实话,搭建开发环境这事儿,看着简单,但坑是真不少。我见过太多同事在新电脑上折腾一整天,最后发现是JDK版本不对。咱们今天就把这事儿一次性捋清楚。

3.1 整体架构一览

在动手之前,我先画张图,让你对整个环境有个全局感。券商交易中台不是单机应用,它是个分布式系统。所以我们的本地环境,其实是在模拟一个小型集群。

券商交易中台 - 本地开发环境架构 代码层 JDK 17 + Maven 3.9 + Git 2.4 + IDEA 2024 容器层 Docker Desktop + Docker Compose 数据层 MySQL 8.0 + Redis 7.0 ✅ 本地开发环境验证

你看,从上到下分三层:代码层、容器层、数据层。每一层都有对应的工具。咱们一个一个来装。

3.2 JDK:选对版本很重要

我个人习惯用JDK 17。为什么?因为Spring Boot 3.x强制要求JDK 17以上,而咱们的交易中台就是用Spring Boot 3搭建的。

版本选择建议: JDK 17 LTS(长期支持版),别用JDK 8了,太老了。也别追JDK 21,虽然新但生态还没完全跟上。

安装步骤其实很简单:

  1. 去Oracle官网或Adoptium下载JDK 17
  2. 双击安装,一路下一步
  3. 配置环境变量 JAVA_HOMEPATH

验证方式:

java -version
# 输出示例:
# openjdk version "17.0.9" 2023-10-17 LTS
# OpenJDK Runtime Environment (build 17.0.9+9)
# OpenJDK 64-Bit Server VM (build 17.0.9+9, mixed mode)
我曾经踩过的坑: 有次我装了两个JDK版本,一个8一个17。结果IDEA默认用了JDK 8,编译Spring Boot 3项目时各种报错。后来我直接把JDK 8卸载了,一了百了。

3.3 Maven:别用IDE自带的

Maven这东西,说白了就是个依赖管理工具。但我建议你单独装一个,别用IDEA自带的。为什么?因为IDEA自带的Maven版本可能比较旧,而且配置文件位置不好找。

安装步骤:

  1. 去Apache官网下载Maven 3.9.x
  2. 解压到 C:\tools\maven(Windows)或 /usr/local/maven(Mac/Linux)
  3. 配置 MAVEN_HOMEPATH

验证方式:

mvn -version
# 输出示例:
# Apache Maven 3.9.6
# Maven home: /usr/local/maven
# Java version: 17.0.9
小技巧:~/.m2/settings.xml 里配置阿里云镜像,下载依赖会快很多。我一般这样配:
<mirror>
  <id>aliyunmaven</id>
  <mirrorOf>central</mirrorOf>
  <name>阿里云公共仓库</name>
  <url>https://maven.aliyun.com/repository/public</url>
</mirror>

3.4 Git:版本控制是底线

Git不用我多说了吧?做开发必备。我建议用Git 2.4以上版本,因为低版本有些功能不支持。

安装后需要配置用户名和邮箱:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"
git config --global core.autocrlf input  # Mac/Linux
git config --global core.autocrlf true   # Windows
核心配置: 建议再配个别名,用起来顺手:
git config --global alias.st status
git config --global alias.co checkout
git config --global alias.br branch
git config --global alias.ci commit

3.5 Docker:容器化是趋势

嗯,这里要注意。Docker在咱们这个课程里非常重要。因为MySQL、Redis这些中间件,我们不会直接装在本机上,而是用Docker跑容器。这样干净、好管理。

安装步骤:

  1. Windows用户装Docker Desktop,Mac用户也一样
  2. Linux用户装Docker Engine
  3. 装完后记得启动Docker服务

验证方式:

docker --version
# Docker version 24.0.7
docker compose version
# Docker Compose version v2.23.0
我曾经踩过的坑: 有次我在Windows上装Docker Desktop,结果发现WSL2没启用,Docker死活起不来。后来装了WSL2并设置为默认版本,问题才解决。Windows用户一定要先检查WSL2。

3.6 MySQL:用Docker跑最省心

我个人习惯用Docker Compose来管理MySQL和Redis。写一个 docker-compose.yml 文件,一键启动所有服务。

version: '3.8'
services:
  mysql:
    image: mysql:8.0
    container_name: trade-mysql
    environment:
      MYSQL_ROOT_PASSWORD: root123
      MYSQL_DATABASE: trade_center
    ports:
      - "3306:3306"
    volumes:
      - ./mysql-data:/var/lib/mysql
    command: --default-authentication-plugin=mysql_native_password

启动命令:

docker compose up -d mysql

验证方式:

docker exec -it trade-mysql mysql -uroot -proot123 -e "SELECT VERSION();"
# +-----------+
# | VERSION() |
# +-----------+
# | 8.0.35    |
# +-----------+

3.7 Redis:缓存必备

Redis在券商系统中用得很多,比如缓存行情数据、用户会话等。同样用Docker跑。

# 在 docker-compose.yml 中添加
  redis:
    image: redis:7.0
    container_name: trade-redis
    ports:
      - "6379:6379"
    volumes:
      - ./redis-data:/data
    command: redis-server --appendonly yes

验证方式:

docker exec -it trade-redis redis-cli PING
# PONG
小技巧: 我一般还会装个Redis Desktop Manager或者Another Redis Desktop Manager,图形化查看数据,调试起来方便。

3.8 IDEA插件:提升效率的关键

IDEA本身已经很强大了,但装对插件能让效率翻倍。我列一下我必装的插件:

插件名称 用途 推荐理由
Lombok 简化Java代码 不用写getter/setter,代码清爽
MyBatisX MyBatis增强 从Mapper跳转到XML,反向也支持
Rainbow Brackets 括号着色 多层嵌套时一眼看清对应关系
GitToolBox Git增强 显示每行代码的最后提交信息
Maven Helper 依赖分析 快速排查依赖冲突
Alibaba Java Coding Guidelines 代码规范检查 自动检测不符合规范的代码

安装方式:IDEA → Settings → Plugins → Marketplace → 搜索安装

3.9 本地开发环境验证

所有东西都装好了,怎么知道环境是不是通的?我一般写一个简单的Spring Boot项目来验证。

创建一个 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">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.2.0</version>
    </parent>
    <groupId>com.trade</groupId>
    <artifactId>env-check</artifactId>
    <version>1.0.0</version>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <dependency>
            <groupId>com.mysql</groupId>
            <artifactId>mysql-connector-j</artifactId>
        </dependency>
    </dependencies>
</project>

然后写个 application.yml

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/trade_center
    username: root
    password: root123
  redis:
    host: localhost
    port: 6379

最后写个启动类:

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

启动后访问 http://localhost:8080,如果能看到Spring Boot的默认错误页面(因为没写Controller),说明环境通了。

验证清单:
  • ✅ JDK 17 能正常编译运行
  • ✅ Maven 能下载依赖
  • ✅ Git 能正常提交代码
  • ✅ Docker 容器能启动MySQL和Redis
  • ✅ IDEA 插件安装成功
  • ✅ Spring Boot 项目能连接MySQL和Redis

好了,环境搭好了,咱们就可以正式开始写代码了。你想想看,如果这些基础没打好,后面遇到问题都不知道是代码的锅还是环境的锅。所以这一步,值得花点时间认真搞。

专注资料整理