Spring Boot 项目快速创建的 3 种方式

简介: 这篇来点轻松的话题,谈谈 Spring Boot 项目快速创建的 3 种方式,这是开发 Spring Boot 项目的第一步。

这篇来点轻松的话题,谈谈 Spring Boot 项目快速创建的 3 种方式,这是开发 Spring Boot 项目的第一步。


这里我将创建 Spring Boot 项目的方式大致分为手动和自动两种,手动是指依赖、基本的项目结构及代码通过手工编码的方式完成,自动则是指利用工具自动引入依赖、生成项目结构和代码。


手动


手动创建 Spring Boot 项目对于一些经验相对丰富的开发人员来说是一个不错的选择,可以随意定制需要的模块,由于 Spring Boot 的项目结构大体相同,因此也能在两三分钟内搭建一个项目。


创建一个 Spring Boot 项目需要关注的内容包括依赖管理工具、使用的 JVM 语言、 Spring Boot 版本号、坐标信息、 包名、打包方式、JDK 版本号、依赖等等。


对于有经验的开发人员,上述的内容基本是固化的,使用的依赖管理工具为 maven,选用目前比较流行的版本 2.2.x 或 2.3.x,使用的语言为 Java,坐标及包名则与具体的项目有关,打包方式自然为 jar,JDK 版本号使用目前比较常用的 JDK 8,依赖项 web 一般是必选的,其他则依据项目来。


根据上述信息,我们可以利用 IDE 提供的功能轻松的创建出一个基于 maven 的 Spring Boot 项目,以常用 IDE Intellij Idea 为例,首先选择创建项目菜单。


image.png


然后选择 maven 项目,并指定 JDK 版本号。


45.png


然后指定项目名称、项目位置、坐标信息即可创建一个 maven 项目。


46.png


创建后的项目结构及 pom 文件内容如下。


47.png


然后编辑 pom 文件,引入 Spring Boot 相关内容即可。


48.png


pom 文件内容添加的内容主要包括三部分,首先是指定了打包方式为 jar,然后指定了 parent 用于管理依赖版本,然后指定一些 Spring Boot 相关的 starter 以启用某些功能,最后还添加了一个 Spring Boot 的插件将项目打成可执行的 jar 包。


对于 pom 文件的编辑,坐标是最大的问题,不过 Spring Boot 依赖的坐标有一定的规律,首先 groupId 的值统一为 org.springframework.boot,然后官方提供的 starter 的 artifactId 的值会以 spring-boot-starter 开头,只有插件的 artifactId 值需要稍作留意。


最后再手动建好我们项目的包名,指定一个启动类就把整个项目搭建完成啦。


49.png


是不是很简单呢?


自动


自动代码生成主要依据 Spring 官方提供的 Spring Initializr 项目,这个项目能够根据用户的配置生成一个完整的 Spring Boot 项目代码,也提供了查询可选配置的 API。


将这个项目的 jar 包作为依赖添加到我们自己的项目,然后就可以通过编程的方式生成 Spring Boot 项目代码了,不过这显然增加了我们的学习成本,也不是本篇重点介绍的内容。


Spring Initializr 主要有两个应用场景,一个是通过 Web 可视化界面的方式从可选配置中定制化我们自己的 Spring Boot 项目,另一个是通过主流 IDE 自带的方式选择配置创建我们自己的 Spring Boot 项目。


Web 代码生成


对于 Web 可视化界面,主要通过 Spring 官方提供的页面操作,网址为 https://start.spring.io/,打开网址可以看到如下的页面。


50.png

可以看到,我们常用的配置都在上面了,和我们自己创建 maven 项目的过程基本一致,左侧是一些项目的基本信息,右侧是依赖项的操作区。点击右侧的 ADD DEPENDENCIES 按钮可以看到如下页面。


51.png


Spring 官网将可选的依赖项进行了分组,这里选中我们需要的 Spring Web 模块,然后再编辑项目基本信息就可以下载 Spring Boot 为我们创建好的项目文件了。


52.png


点击生成项目文件按钮 GENERATE 右侧的浏览按钮 EXPLORE 我们还可以预览生成的 Spring Boot 项目代码。


53.png


是不是很神奇呢?


IDE 代码生成


不过我们一般是通过 IDE 创建项目的,对于常用的 IDE 包括 Intellij Idea、Eclipse 都提供了使用 Spring Initializr 创建项目的功能,这也是我们最常使用的一种创建 Spring Boot 项目的方式。


继续以 Intellij Idea 为例,点击创建项目菜单,并选中 Spring Initializr 选项,可以看到如下的界面。


54.png


这个页面同时还可以编辑 Spring Initializr 的服务器,因为不同的服务器提供的是相同的 HTTP 接口,只是提供的配置项有所不同,例如我们可以将 Server URL 修改为阿里的 http://start.aliyun.com,这可以使得我们在后面的配置项中选择 Spring Cloud Alibaba 相关依赖。


不过这里我们还是保持默认吧,点击 Next,勾选需要的依赖项,即可创建一个 Spring Boot 项目。


55.png


是的,这样就结束了,这种方式真的是超简单。


总结

本篇主要介绍了创建 Spring Boot 项目常用的 3 种方式,包括手动创建 maven 项目并进行配置,自动通过 Web 或 IDE 的方式使用 Spring Initializr 创建 Spring Boot 项目,最为推荐的还是 IDE。


创建项目只是使用 Spring Boot 的第一步,一般情况我们在创建项目时都会指定一个 Spring Boot 提供的 parent 用于依赖管理,如果我们定义了自己的 parent 则只能通过引入 spring-boot-dependencies 的方式管理依赖,这两者有何区别呢?将在下篇进行揭晓。

目录
相关文章
|
Java Maven Android开发
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
本文介绍了Spring Boot开发环境的搭建和项目启动流程。主要内容包括:jdk的配置(IDEA、STS/eclipse设置方法)、Spring Boot工程的构建方式(IDEA快速构建、官方构建工具start.spring.io使用)、maven配置(本地maven路径与阿里云镜像设置)以及编码配置(IDEA和eclipse中的编码设置)。通过这些步骤,帮助开发者顺利完成Spring Boot项目的初始化和运行准备。
1348 0
微服务——SpringBoot使用归纳——Spring Boot开发环境搭建和项目启动
|
前端开发 安全 Java
Spring Boot 便利店销售系统项目分包设计解析
本文深入解析了基于Spring Boot的便利店销售系统分包设计,通过清晰的分层架构(表现层、业务逻辑层、数据访问层等)和模块化设计,提升了代码的可维护性、复用性和扩展性。具体分包结构包括`controller`、`service`、`repository`、`entity`、`dto`、`config`和`util`等模块,职责分明,便于团队协作与功能迭代。该设计为复杂企业级应用开发提供了实践参考。
592 0
|
Java 测试技术 微服务
微服务——SpringBoot使用归纳——Spring Boot中的项目属性配置——少量配置信息的情形
本课主要讲解Spring Boot项目中的属性配置方法。在实际开发中,测试与生产环境的配置往往不同,因此不应将配置信息硬编码在代码中,而应使用配置文件管理,如`application.yml`。例如,在微服务架构下,可通过配置文件设置调用其他服务的地址(如订单服务端口8002),并利用`@Value`注解在代码中读取这些配置值。这种方式使项目更灵活,便于后续修改和维护。
431 0
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot使用slf4j进行日志记录——使用Logger在项目中打印日志
本文介绍了如何在项目中使用Logger打印日志。通过SLF4J和Logback,可设置不同日志级别(如DEBUG、INFO、WARN、ERROR)并支持占位符输出动态信息。示例代码展示了日志在控制器中的应用,说明了日志配置对问题排查的重要性。附课程源码下载链接供实践参考。
1502 0
|
Java 关系型数据库 数据库连接
Spring Boot项目集成MyBatis Plus操作PostgreSQL全解析
集成 Spring Boot、PostgreSQL 和 MyBatis Plus 的步骤与 MyBatis 类似,只不过在 MyBatis Plus 中提供了更多的便利功能,如自动生成 SQL、分页查询、Wrapper 查询等。
1092 2
|
前端开发 Java API
酒店管理系统基于 JavaFX Spring Boot 和 React 经典项目重构实操
本文介绍了基于现代技术栈的酒店管理系统开发方案,整合了JavaFX、Spring Boot和React三大技术框架。系统采用前后端分离架构,JavaFX构建桌面客户端,React开发Web管理界面,Spring Boot提供RESTful API后端服务。核心功能模块包括客房管理和客户预订流程,文中提供了JavaFX实现的客房管理界面代码示例和React开发的预订组件代码,展示了如何实现客房信息展示、添加修改操作以及在线预订功能。
779 0
|
Java 测试技术 Spring
简单学Spring Boot | 博客项目的测试
本内容介绍了基于Spring Boot的博客项目测试实践,重点在于通过测试驱动开发(TDD)优化服务层代码,提升代码质量和功能可靠性。案例详细展示了如何为PostService类编写测试用例、运行测试并根据反馈优化功能代码,包括两次优化过程。通过TDD流程,确保每项功能经过严格验证,增强代码可维护性与系统稳定性。
443 0
|
存储 Java 数据库连接
简单学Spring Boot | 博客项目的三层架构重构
本案例通过采用三层架构(数据访问层、业务逻辑层、表现层)重构项目,解决了集中式开发导致的代码臃肿问题。各层职责清晰,结合依赖注入实现解耦,提升了系统的可维护性、可测试性和可扩展性,为后续接入真实数据库奠定基础。
884 0
|
Java 应用服务中间件 Maven
第01课:Spring Boot开发环境搭建和项目启动
第01课:Spring Boot开发环境搭建和项目启动
3426 0