一些基础和问题解决

构建企业级微服务脚手架

前置准备

IDEA 默认的 Initializr 服务器在国外,国内网络经常导致"Loading..."卡死。在开始之前,必须确保 Maven 配置了阿里云镜像(如果还没配过,立刻做):

  1. 找到电脑上的 Maven 配置文件(通常在 C:\Users\用户名\.m2\settings.xml 或 Maven 安装目录的 conf/settings.xml)。

  2. 用记事本打开,找到 <mirrors> 标签,把里面的内容替换为阿里云镜像:

    xml 复制代码
    <mirror>
      <id>aliyunmaven</id>
      <mirrorOf>*</mirrorOf>
      <name>阿里云公共仓库</name>
      <url>https://maven.aliyun.com/repository/public</url>
    </mirror>

一、打开创建面板

  1. 打开 IDEA。如果在一个已有项目里,点击左上角菜单栏的 File -> New -> Module... 。如果是刚打开 IDEA 欢迎界面,直接点 New Project
  2. 在弹出的窗口左侧列表中,选择 Spring Boot

二、元数据配置

在这个界面,需要填写项目的身份信息。企业里对这些命名有严格规范:

  • Name (项目名称):全小写,中划线分隔,这是微服务标准命名法。
  • Language :选择 Java
  • Type :选择 Maven(通常如此,极少用 Gradle)。
  • Group (组织标识):通常是公司域名倒写。
  • Artifact (项目标识):通常和 Name 保持一致。
  • Package name (包名):IDEA 会自动拼成(注意:企业级项目包名绝对不能带中划线,必须全是小写字母)
  • Packaging :选择 Jar(Boot 默认,内嵌 Tomcat)。
  • Java:Java版本。,按需选择。

点击右下角的 Next,进入下一页

三、选择 Spring Boot 版本

  • Version:按需选择

如何获取添加或修改SpringBoot版本(Maven 项目)

pom.xml 中,通过 <parent> 标签指定 Spring Boot 的版本:

xml 复制代码
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>3.5.9</version> <!-- 在这里指定你需要的版本 -->
    <relativePath/> <!-- lookup parent from repository -->
</parent>

修改后,IDEA 通常会提示你 同步 Maven 依赖 。如果未自动提示,可以右键点击 pom.xml -> Maven -> Reload Project

四、勾选"起步依赖"

依赖项 板块,在左侧分类树或搜索框中,依次找到并 勾选以下 5 个企业级开发必备的 Starter:

  1. Web 层 :搜索 Spring Web,勾选。(包含内嵌 Tomcat 和 Spring MVC)。
  2. 校验层 :搜索 Validation,勾选。(提供 @NotBlank 等参数校验注解)。
  3. 工具层 :搜索 Lombok,勾选。(自动写 getter/setter)。
  4. 数据库层 :搜索 MySQL Driver,勾选。
  5. 持久层 :搜索 MyBatis Framework,勾选。

点击右下角的 Create,进入项目,等待"读条"......

五、项目文件整理

项目加载出来后,先做以下整理、清理:

  1. 替换 MyBatis-Plus 依赖(针对 Spring Boot 3.x)

操作 :打开 pom.xml,将刚刚自动生成的 mybatis-spring-boot-starter 依赖删除,手动替换为 MyBatis-Plus 官方提供的 Boot3 专属依赖:

xml 复制代码
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-spring-boot3-starter</artifactId>
    <version>3.5.5</version> <!-- 或更高版本 -->
</dependency>

因为 IDEA 的 Initializr 只能勾选原生的 MyBatis,而在 Boot 3.x 环境下直接使用原生 MyBatis 或旧版 MP 会导致底层 factoryBeanObjectType 冲突报错。

替换后,务必点击 IDEA 右上角的 Maven 刷新按钮。

  1. 删除无用文件 (取消勾选 Safe delete安全删除):
    • 删掉根目录下的 HELP.md(没用的帮助文档)。
    • 删掉 mvnwmvnw.cmd(这是给没装 Maven 的人用的包装器,企业内部开发不需要)。
    • 删掉 .mvn 文件夹。
  2. 配置 .gitignore
    • 打开根目录下的 .gitignore 文件。确保里面包含了 target/ 目录。这能防止你把编译产生的垃圾文件提交到 Git 仓库里,这是实习生最容易犯的致命错误
  3. 重命名配置文件
    • 找到 src/main/resources/ 下的 application.properties
    • 右键 -> Rename ,把它改成 application.yml

六、跑通验证

  1. 找到 src/main/java/com/jxrc/talentsubsidy 下的 TalentSubsidyApplication.java(主启动类)。
  2. 右键 点击这个文件,选择 Run 'TalentSubsidyApplication'
  3. 观察底部的控制台,依次出现以下两个关键信息,就算启动成功
  • 标志 1(环境就绪) :看到 Tomcat started on port 8080 (http) with context path ''。这说明内嵌的 Tomcat 服务器成功启动,并占用了 8080 端口。
  • 标志 2(核心通关) :看到 Started TalentSubsidyApplication in x.xxx seconds。这行日志是 Spring Boot 的"通关文牒",代表 Spring 容器初始化完毕,所有组件加载成功,应用正式对外提供服务!

假如公司有自己研发的"内部脚手架平台",很多操作可以省略

"默认公司私服,在家切公网" 的Maven切换方案

一、 制作"公网备用版" settings.xml

  1. 打开你的 D 盘(或任意非系统盘),新建一个文件夹,命名为 Maven_Public(例如路径为 D:\Maven_Public)。
  2. 新建 D:\Maven_Public\repository 空文件夹

如果只改镜像,不加本地仓库路径,Maven 依然会把从阿里云下载的包塞进 C 盘默认的 .m2\repository 里。

需要<localRepository>D:\Maven_Public\repository</localRepository>明确告诉 Maven:用这个配置文件时,把包存在 D 盘这个文件夹。

直接复制粘贴进 D:\Maven_Public\settings.xml:

xml 复制代码
<?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">
    
    <!-- 【新增】指定公网环境专属的本地仓库路径,实现与C盘公司环境的彻底物理隔离 -->
    <localRepository>D:\Maven_Public\repository</localRepository>

    <mirrors>
        <!-- 阿里云公网镜像 -->
        <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>*</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/public</url>
        </mirror>
    </mirrors>

</settings>

二、 切换到公网路径

在家没公司 VPN时,运行前切换路径

  1. 打开项目。
  2. 进入顶部菜单 File -> Settings -> Build, Execution, Deployment -> Build Tools -> Maven
  3. 勾选 User settings file 后面的 Override ,路径选择你刚保存的 D:\Maven_Public\settings.xml
  4. 勾选 Local repository 后面的 Override ,路径选择 D:\Maven_Public\repository(IDEA 通常会根据你上面的 settings.xml 自动识别并填好,确认一下即可)。
  5. 点击 ApplyOK
  6. 点击 IDEA 右侧 Maven 面板的刷新按钮(Reload All Maven Projects)。

安全修改 Spring Boot 项目的"项目名、包名、启动类名"

建议最好不改。

一、修改 Maven 坐标与项目名(改骨架)

这一步主要影响项目的构建和打包名称,不会影响代码运行逻辑。

  1. 打开 pom.xml 文件。
  2. 修改 <groupId>(组织名)、。
  3. 修改 <artifactId><name><description> 为你想要的项目名。
  4. 在左侧 Project 面板,右键点击项目根目录(也就是显示旧名字的那个节点)。
  5. 选择 Refactor -> Rename
  6. 输入新的 <artifactId> 名称,按下回车。
  7. 文件资源管理器中的项目名也改,然后重新打开项目
  8. 关键检查点
    向下滚动到 <build> -> <plugins> 中的 spring-boot-maven-plugin。如果里面显式配置了 <mainClass>,请将其中的旧启动类全路径(如 com.itheima.talent.TalentApplication)先删掉,或者等后面改完启动类后再来填新的。通常 Boot 会自动寻找带有 @SpringBootApplication 的类,建议直接删除 <mainClass> 标签,让框架自动找
xml 复制代码
<plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
        <!-- 如果这里有 <mainClass>,改启动类名时,必须把这里的全路径也改成新的! -->
        <mainClass>com.itheima.talent.TalentApplication</mainClass> 
    </configuration>
</plugin>

二、安全修改包名

  1. 物理重命名 :在 IDEA 左侧 Project 面板,展开 src/main/java,找到你最外层的包。
  2. 触发重构 :右键点击该包名 -> 选择 Refactor -> Rename,选择重构 所有目录
  3. 输入新包名
    IDEA 会自动帮做两件极其重要的事情:
    • 自动移动所有物理文件夹。
    • 自动修改该包下所有 Java 文件的 package 声明,以及全项目所有引用了这些类的 import 语句。
  4. 同步修改测试类包名 :用同样的方法,将 src/test/java 下的旧包名也 Refactor 为新包名。

三、修改启动类类名

启动类是 Spring Boot 的入口,改名时必须连带处理测试类。

  1. 找到你的主启动类。
  2. 右键类名 -> Refactor -> Rename,改为想要的名字。
  3. 选择测试类也一起改名

四、全局"暗坑"排查清单

IDEA 的重构功能虽然强大,但它只认识 Java 代码,不认识配置文件和字符串里的硬编码 !以下这四个地方,是改包名后最容易导致项目崩溃的"暗坑",必须全局搜索旧包名(如 com.itheima)进行手动核对:

  1. MyBatis 的 Mapper 扫描路径
    • 如果你的主启动类或配置类上写了 @MapperScan("com.itheima.dao"),必须手动改成新包名 com.jxrc.talent.dao。否则启动会报 No qualifying bean of type 'XXXMapper'
  2. application.yml 中的 MyBatis 别名包
    • 打开 application.yml,搜索旧包名。如果配置了 mybatis.type-aliases-package: com.itheima.domain,必须改为新包名。否则 MyBatis 的 XML 文件里写 resultType="User" 时会找不到类。
  3. AOP 切面的表达式(如果有)
    • 如果项目里用了 AOP(比如做日志记录、权限校验),搜索 @Aspect@Pointcut。里面的切点表达式通常是字符串,如 execution(* com.itheima.service..*(..)),必须手动替换为新包名,否则切面会全部失效。
  4. 自定义的 @ComponentScan
    • 搜索 @ComponentScan。正常情况下 Boot 会自动扫描启动类所在的包,不需要写这个注解。但如果前辈为了某些特殊原因手动写了 @ComponentScan("com.itheima.xxx"),请务必改掉。
相关推荐
陈随易1 小时前
前端项目部署只要30秒
前端·后端·程序员
YIAN1 小时前
从零手写文件读取 MCP 服务:一文吃透 Model Context Protocol 全链路通信原理
前端·后端·mcp
Imchendiana1 小时前
《狂人日记NO.9》— 前后端一把梭,我的全栈实录
前端·后端
学渣超1 小时前
记一次分布式事务数据不一致的排查之旅:从超时到索引,层层剥茧
java·后端·架构
北冥you鱼2 小时前
Go 语言读取链上数据:从基础到实战
开发语言·后端·golang
程序员cxuan2 小时前
Claude Code 为了封禁中国用户,竟然在代码里下毒
人工智能·后端·程序员
郡杰2 小时前
Git基础与开发平台搭建
git·后端
ServBay3 小时前
MCP (Model Context Protocol) 深度指南,协议原理、Python 实现与生产级安全实践
后端·ai编程·mcp
道友可好3 小时前
Claude Code 泄露源码里的 89 个秘密
前端·人工智能·后端