Maven+Spring
一、Maven 相关
- 本地仓库设置:
- 在 IDE(如 IntelliJ IDEA)中可以设置 Maven 的本地仓库路径,本地仓库用于存储从远程仓库下载的依赖库,方便项目重复使用。
- 仓库关系:
- 项目:开发中的项目,会依赖于各种库和插件。
- 本地仓库:位于本地计算机上的仓库,存储了项目所需的依赖库。
- 中央仓库:Maven 默认的远程仓库,包含了大量开源的库和插件。
- 私服(私有服务器):组织内部搭建的私有 Maven 仓库,用于存储内部项目的依赖库,需要一定的权限才能访问。
- 项目首先会从本地仓库查找依赖,如果找不到,会从私服或中央仓库下载到本地仓库,然后再使用。
- Maven 仓库地址:
- 远程仓库地址:例如 http://repo1.maven.org/maven2/ 是 Maven 中央仓库的地址。
- 仓库的查询:可以通过一些网站(如 https://mvnrepository.com/ )来查询 Maven 仓库中各种库的信息,包括依赖配置、版本等。
二、Spring Boot 项目创建
- IntelliJ IDEA 版本:
- 专业版(Ultimate Edition):功能更强大,对于 Spring Boot 开发,专业版通常不需要额外安装插件就可以很好地支持。
- 社区版(Community Edition):功能相对较少,可能需要安装 Spring Boot 插件来支持 Spring Boot 项目的创建和开发。
- 项目属性设置:
- Group Id:组织 ID,通常是公司或组织的域名倒序,例如 com.example 。
- Artifact Id:项目 ID,是项目的唯一标识符,例如 spring-boot-demo 。
- Version:项目版本,例如 0.0.1-SNAPSHOT ,其中 SNAPSHOT 表示快照版本,是不稳定的版本,可能会发生变化; RELEASE 版本是稳定的版本。
- Language:项目使用的语言,这里是 Java 。
- Project type:项目类型,这里是 Maven 。
- Packaging:打包方式,这里是 jar (Java Archive),表示项目将被打包成一个可执行的 JAR 文件。
- Java version:项目使用的 Java 版本,这里是 17 。
- Project name:项目名称,例如 spring-boot-demo 。
- Project description:项目描述,对项目的简单说明。
- Package name:包名,通常是 Group Id 和 Artifact Id 的组合,例如 com.example.springbootdemo 。
- 项目结构:
- 创建好的 Spring Boot 项目会有标准的 Maven 项目结构,包括 src/main/java (存放 Java 源代码)、 src/main/resources (存放配置文件和资源文件)、 src/test/java (存放测试代码)等目录,以及 pom.xml (Maven 的项目对象模型文件,用于配置项目的依赖和构建信息)。
三、依赖版本选择
- 对版本有要求:
- 按照指定的版本号来引入依赖,确保项目使用特定版本的库。
- 对版本无要求:
- 看团队默认:根据团队的约定来选择版本。
- 建议使用交叉版本:这里的“次”不是指第二个,而是表示相对比较新的版本,例如在选择依赖版本时,可以选择比当前最新版本稍旧但相对稳定的版本。
四、其他内容
- 开发方向和学习建议:
- 实习和课程并行:在完成项目后,可以尝试找实习;如果找不到实习,就继续看课学习。
- 依赖配置示例:
- 展示了 Maven 依赖的配置格式,包括 groupId (组织 ID)、 artifactId (项目名称)和 version (版本)。例如:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.33</version>
</dependency>
这里 mysql 是组织 ID, mysql-connector-java 是项目名称, 8.0.33 是版本号。
- 版本号的含义:
- 版本号通常由大版本、中版本和小版本组成,例如 1.0.0 。大版本通常表示有重大的变更,可能不兼容之前的版本;中版本可能表示有一些新功能的增加;小版本通常表示一些 bug 的修复。
- 还有一些特殊的版本号,如 20bug 可能表示修复了 20 个 bug 的版本, 1.0.1 可能表示相对中等需求的版本, 2.0.0 可能表示有大需求变更或项目重构等。
- 开发人员的代码测试:
- 开发人员的代码首先应该由自己进行测试,包括功能测试和编写单元测试用例,确保代码的正确性和稳定性。
- 约定大于配置:
- 这是一种软件开发的理念,强调通过约定来减少配置。例如在 Spring Boot 中,有很多默认的配置,开发人员不需要进行过多的配置就可以快速搭建项目。这些内容对于学习和使用 Maven 以及 Spring Boot 进行项目开发有很大的帮助,涵盖了从环境设置、项目创建到依赖管理和开发规范等多个方面。