创建并运行一个 Spring Boot 项目

简介: 创建并运行一个 Spring Boot 项目

引言



Spring Boot 是 Spring 框架的脚手架,它存在的目的就是为了快速开发 Spring 框架而诞生的。如何理解 Spring Boot 和 Spring 呢?


如果将 Spring 比喻成农民拿镰刀手动割草,那么 Spring Boot 就相当于专业人员驾驶着割草机,自动割草。而之前的 Servlet 就是普通人,在田地里直接用手拨草…


所以说,在这个时代,Spring Boot 已经成为了一个 Java 程序员主流使用的开发框架了,它让我们从 Spring 跨越到了 Spring Boot 时代,说是一个质的飞跃,并不夸张。


但是,我们应该明确:Spring Boot 是基于 Spring 框架的框架,说到底,最核心的还是 Spring,只不过,Spring Boot 框架为开发人员带来了更快捷的操作。


第一个 Spring Boot 项目



1. 创建一个 spring boot 项目


第一步


我用的是社区版的 IDEA,所以创建一个此项目,就需要用到 【Spring Assistant】这样的插件。


如果你的 IDEA 版本搜寻不到这样的插件的话,可以重新下载一个 2020 版本的,因为本人之前就是使用的 2022 版本的社区版 IDEA,结果发行没有上面的插件。


下面的 Custom 可以用来配置国内源,但是一般我们不用,点击 Default 就好,除非你的网速真的很差,否则我认为还是少折腾的好,因为国内源提供的版本比较老。


86f4555af5df43639b4e3ef71dd2955d.png


第二步


日常我们学习阶段,下面只需要将 Java 版本更改即可,一般推荐使用 Java 8.

其他的设置,日后在工作中,可以根据项目要求来定义。


ed31c3bcbe5f4146b72033241bab0b5c.png


第三步


选择 Spring Boot 版本号,选择需要的依赖。


Spring Boot 版本号:我们应该选择一个稳定版的,版本后面不带括号的。

Spring Boot DevTools:表示我们开发 Spring Boot 项目的工具包。


Lombook:后面我们会详细介绍。

Spring Web:表示我们创建的项目可以基于 HTTP 协议,成为一个 Web 项目,也就是里面内置了 Tomcat,供前后端交互。


6096c9ee290d4f2e9eb83e844dcd5297.png


第四步


创建项目名称,并规定保存路径。


9dd27cf0852244f48e15dbfa2208d955.png


2. 验证


第一步


当创建好了项目,进入 IDEA 主界面的时候,第一次进来的时候,加载好的速度会很慢,因为当前的 Spring Boot 框架之前并没有存放在本地仓库中。


当出现下图的一个标志性的类 " DemoApplication " ,它是一个启动类,当我们发现它的图标是一个 " C ",并且上面有个三角符号,说明这个类没问题了。


之后,我们打开这个类,什么代码也不要写入,直接启动,如果打印出现下面的一些日志,就表示项目创建无误了。


ba515a508f5c40ea926a05f8a1f82f58.png


第二步


如果在第一步很慢的话,我们就要配置国内源,以后的项目也应该配置国内源。

我们一开始创建 Spring Boot 项目的时候,没有配置国内源,是因为,那里国内源的版本太靠后。


但是,这里需要配置国内源,是因为 maven 需要国内源来下载一些依赖,并自动放入 " pom.xml " 这个文件中,如果我们不配置,一旦依赖下载超时之后,就会导致在后续的使用中,一些 maven 提供的包我们用不了。


我需要事先声明,配置国内源的时候,应在网络良好的情况下配置,否则在后续运行 spring 项目的过程中,可能会出现奇奇怪怪的异常。


078066b008b64b02845bea8a39d00e70.png


如果有小伙伴需要 " settings.xml " 文件,可以去我上一篇【Spring 博客】找一下,那里有文件的整个内容,以及镜像说明。


3. 写一个 hello world


第一步


创建一个 " UserController " 类,写入下面代码:


@Controller
public class UserController {
    @RequestMapping("/hello") //设置路由地址
    @ResponseBody // 返回 HTTP响应数据
    public String hello() {
        return " hello world ";
    }
}



解析代码


(1) " @RequestMapping " 这个注解就相当于 Servlet 代码中的 " WebServlet ",它是用来告诉前端,以什么样的 " URL " 来发送 HTTP 请求的,只不过前者是加在方法上,后者是加在类上的。此外,这里的路由地址,统一为小写,防止后续前端访问数据,发生出错的情况。


(2) " @ResponseBody " 表示返回的是一个非静态的页面,只返回给前端 HTTP 响应中正文的数据,也就是说,这个数据是未经过 HTML 处理的。


(3) 在这里,类上面只能加上 " @Controller ",而不能加上其他的四大类注解。因为, " @Controller " 的功能就是用来与前端交互的,其他类注解并没有这个功能。


第二步


写好代码后,启动 " DemoApplication " 类,如果我们看到 IDEA 的打印日志,像我刚刚说的那样,没有报错,我们就可以利用浏览器发送一个 HTTP 请求。


展示结果:


deb1b34053814388b60d171a8f7fb9a2.png


抓包结果:


f8429d5d39154300ae5b4ff3517a23a9.png


注意事项


一般来说,我们创建一个实现我们的业务代码类,都会放在与 " DemoApplication " 类平级的目录下,也就是下面的 " demo " 包下。


然而,这里的 Spring Boot 有一个隐含的约定:


我们创建的类所在的目录,不能比 " DemoApplication " 启动类所在的目录高,也就是说,当我们创建的类放在了 " example " 或者 " com " 下,就会导致前端访问失败,如果放在了 " demo " 或 " demo1 " 下,就不会失败。


e29cb8d10f704ce18d00b39f373b6011.png


学过 Spring 初级框架的小伙伴,都应该知道一个配置文件 " sping-config.xml ",它就是用来指定一个根路径,以便于框架从根路径下,找寻你实现的类,如果你创建的类,在根路径之上,那么就会出错。


而在这里的 Spring Boot 其实是一样的,它的思想是 " 约定大于配置 ",实际上,用 Spring Boot 框架,它并不需要我们设置配置文件,但是我们应该知道创建一个类的路径,是不能随意放的,这是一种规范!


而在后面的学习中,很多依赖、文件并不需要我们手动引入,都是框架为我们实现好了的,但是我们也要遵循当前框架的规则,只有掌握了规则,环境才不会出错。


网页创建一个 Spring Boot 项目



网页地址:


https://start.spring.io/


通过网页创建一个 Spring Boot 项目的时候,它可供我们选择的选项,与用 IDEA 创建的时候是一样的,如下图所示:


98990fe376ae4411b86422d3ce8f579c.png


当我们点击生成的时候,浏览器就会下载一个 " zip " 这样的压缩包,下载到本地,默认名称就是 " demo "。之后,我们可以为其解压缩成一个文件夹的形式,解压后的 " demo " 文件夹,就和我们平时创建的一个项目是一样的,之后,我们利用 IDEA 打开,就可以进行后续的操作了。


ad1ac98091284e10ad6edf64254032dc.png


Spring Boot 的优点



1. 当我们创建一个 maven 项目的时候,不需要自己手动去 maven 仓库去搜索依赖。我们只需要选中 Spring Boot 框架提供的勾选框后,它就会自动帮我们实现好,并自动添加到 " pom.xml " 文件中。也就是说,我们写代码可以完全脱离 xml 文件,但是一个 maven 项目依然需要它。


2. 内置了运行容器,无需配置 Tomcat 等 Web 容器,直接运行和部署程序。之前,我们创建 Servlet 或 Spring 项目的时候,使用 Tomcat 时,还需要手动添加依赖,并感知它的运行。现在,Spring Boot 直接内置了 Tomcat,并自动为我们的项目适配一个合适的 Tomcat 版本,这就很人性化了。


3. 支持持更多的监控指标,可以更好地了解项目的运行情况。


目录
相关文章
|
1月前
|
存储 运维 安全
Spring运维之boot项目多环境(yaml 多文件 proerties)及分组管理与开发控制
通过以上措施,可以保证Spring Boot项目的配置管理在专业水准上,并且易于维护和管理,符合搜索引擎收录标准。
42 2
|
2月前
|
设计模式 前端开发 Java
Spring MVC——项目创建和建立请求连接
MVC是一种软件架构设计模式,将应用分为模型、视图和控制器三部分。Spring MVC是基于MVC模式的Web框架,通过`@RequestMapping`等注解实现URL路由映射,支持GET和POST请求,并可传递参数。创建Spring MVC项目与Spring Boot类似,使用`@RestController`注解标记控制器类。
39 1
Spring MVC——项目创建和建立请求连接
|
2月前
|
Java 关系型数据库 MySQL
Maven——创建 Spring Boot项目
Maven 是一个项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,简化了项目的构建和管理过程。其核心功能包括项目构建和依赖管理,支持创建、编译、测试、打包和发布项目。Maven 仓库分为本地仓库和远程仓库,远程仓库包括中央仓库、私服和其他公共库。此外,文档还介绍了如何创建第一个 SpringBoot 项目并实现简单的 HTTP 请求响应。
168 1
Maven——创建 Spring Boot项目
|
1月前
|
Dubbo Java 应用服务中间件
深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案
本文深入探讨了“dubbo+nacos+springboot3的native打包成功后运行出现异常”的原因及解决方案。通过检查GraalVM版本兼容性、配置反射列表、使用代理类、检查配置文件、禁用不支持的功能、查看日志文件、使用GraalVM诊断工具和调整GraalVM配置等步骤,帮助开发者快速定位并解决问题,确保服务的正常运行。
49 1
|
2月前
|
Java 关系型数据库 MySQL
如何使用 maven 创建一个 Spring Boot项目
Maven 是一个强大的项目管理工具,通过配置 `pom.xml` 文件自动获取所需的 jar 包,提高开发效率。其核心功能包括项目构建和依赖管理。项目构建支持编译、测试、打包和发布等流程,而依赖管理则通过中央仓库、本地仓库和私有服务器获取和管理项目依赖。示例中展示了如何创建第一个 SpringBoot 项目并实现简单接口。
48 1
如何使用 maven 创建一个 Spring Boot项目
|
2月前
|
SQL JSON Java
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
这篇文章介绍了如何在Spring Boot项目中整合MyBatis和PageHelper进行分页操作,并且集成Swagger2来生成API文档,同时定义了统一的数据返回格式和请求模块。
73 1
mybatis使用三:springboot整合mybatis,使用PageHelper 进行分页操作,并整合swagger2。使用正规的开发模式:定义统一的数据返回格式和请求模块
|
23天前
|
安全 Java 应用服务中间件
如何将Spring Boot应用程序运行到自定义端口
如何将Spring Boot应用程序运行到自定义端口
34 0
|
2月前
|
Java 应用服务中间件 Android开发
Eclipse创建Spring项目
本文介绍了在Eclipse中创建Spring项目的步骤,包括如何配置Tomcat服务器、创建项目、部署项目到Tomcat以及添加Spring框架所需的JAR包。
78 1
Eclipse创建Spring项目
|
2月前
|
Java Apache Maven
Java/Spring项目的包开头为什么是com?
本文介绍了 Maven 项目的初始结构,并详细解释了 Java 包命名惯例中的域名反转规则。通过域名反转(如 `com.example`),可以确保包名的唯一性,避免命名冲突,提高代码的可读性和逻辑分层。文章还讨论了域名反转的好处,包括避免命名冲突、全球唯一性、提高代码可读性和逻辑分层。最后,作者提出了一个关于包名的问题,引发读者思考。
Java/Spring项目的包开头为什么是com?
|
2月前
|
前端开发 Java 应用服务中间件
【Spring】Spring MVC的项目准备和连接建立
【Spring】Spring MVC的项目准备和连接建立
64 2
下一篇
DataWorks