【Spring Boot】Spring Boot 项目开发心得【更新中】
项目创建
Maven项目 名称规范
- 父项目(父模块)名中多个单词见可以使用中划线 “-” 相连,也可以不使用
- 子项目(子模块)名为父项目名+中划线+子项目名
另见 【artifactId】 小节
groupId
groupId就是你所在的 【学校/公司/组织】 的域名倒叙,假如你在阿里巴巴工作,参与了公司内部开发的一个项目,那么项目的groupId就为com.alibaba;如果你加入了apache组织,参与开发apache下的一个项目,那么项目的groupId就应该为org.apache。
但是,如果你加入了这个公司,开发的项目却是自己用的,和公司没多大关系,比如自己没事干做个扫雷、俄罗斯方块、贪吃蛇什么的,那么这个groupId就可以是自己的个人博客网站倒叙
- 没有个人博客网站怎么办?
没有个人博客可以使用个人的用户名作为gruopId来使用,注意groupId应该是小写的,如果自己的用户名中有大写的话可以全部变为小写。
artifactId
artifactId就是项目的名称,也应该遵循上文中的 【Maven项目 名称规范】
如,student-info-system
如果是是多模块项目,那么相应的子项目名应该为student-info-system-xxxx
具体子模块的划分也有不同的方式,有的是根据业务划分的,比如这样:
student-info-system-common、student-info-system-login、student-info-system-admin…
也有的是按MVC的层次来划分,如:
student-info-system-service、student-info-system-dao、student-info-system-service-imp、
student-info-system-dao-impl等等。
注意,项目文件夹(就是在磁盘中存储的文件夹名称)也应该与artifactId保持一致。
version
version就是项目的版本号,初次开发的项目版本号建议从1.0.0开始。注意不要加上SNAPSHOT(快照),因为快照实际上是预览版,而一般的系统在完成开发后会直接上线进入生产环境投入使用
如何创建?
Spring Boot Initializer
无论是IDEA还是Eclipse都支持使用Spring Boot向导的方式来创建项目,选择自己想要的版本和模块,向导就会自动为你创建好一个完整的Maven项目。
- 没有自己想要的Spring Boot 版本怎么办?
可以先随便选一个Spring Boot 的版本,等创建好后,自己去pom.xml中找到parent标签修改相应的version即可 - Spring Boot 向导创建的项目是单模块项目,可我想开发的是多模块项目,怎么办?
请参见下文的Maven小节
Maven
使用Maven创建Spring Boot 也很简单,先创建一个普通的Maven项目,要明确自己创建的项目是单模块项目还是多模块项目,相关规范可参见 【Maven项目 名称规范】 小节,在创建项目的时候选择原始Maven项目即可,不需要选择其他的archetype(Maven项目模板)
创建好的项目默认是单模块项目,开发多模块项目的同学可以删除掉项目中的src目录,然后自己去创建一个新的Module(模块),具体的创建子项目的过程会因为具体的开发环境有所不同,
添加依赖
标准的Maven pom.xml
一个标准的Maven 应用的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>
<packaging>jar</packaging>
<groupId>com.xxx</groupId>
<artifactId>项目名【见上文的Maven项目 名称规范】</artifactId>
<version>1.0.0</version>
...
</project>
标准的Spring Boot pom.xml
单模块Spring Boot 项目
<?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>
<packaging>jar</packaging>
<groupId>kedaji</groupId>
<artifactId>student-info-system</artifactId>
<version>1.0.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
</project>
当然还有其他的依赖方式可以把Maven项目转换为Spring Boot项目,如
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.spring.platform</groupId>
<artifactId>platform-bom</artifactId>
<version>Brussels-SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
...
</dependencyManagement>
这里也就不多赘述
多模块的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>
<!-- 注意Maven父pom的打包方式为-->
<packaging>pom</packaging>
<groupId>kedaji</groupId>
<artifactId>student-info-system</artifactId>
<version>1.0.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.3.RELEASE</version>
</parent>
<modules>
<module>student-info-system-common</module>
<module>student-info-system-login</module>
<module>student-info-system-admin</module>
<module>student-info-system-task</module>
....
</modules>
</project>
未完待续。。。
(另:读了一遍怎么这么像Maven 或者 Spring Boot 官方的 快速开始呢???)