大家好,我是二哥呀!
学 Java,自然少不了 Spring Boot 的学习!作为一名 Java 技术博主,已经被催了 N 多次 Spring Boot 的教程了,再不更新真有点鸽的不成样子——鸽上加鸽。
因此我打算在接下来一段时间里间歇性地输出一些 Spring Boot 方面的文章,包括一些非常入门级的教程和一些非常优质的 Spring Boot 项目推荐,已经身经百战的 starter 们忽略就好。
《Java 程序员进阶之路》在 GitHub 上获得了 872 个 star,还没去点亮的小伙伴去点一下,让二哥也体验一下 1k star 的快乐,毕竟还有 128 个,不远了。
https://github.com/itwanger/toBeBetterJavaer
Spring 官方提供了 Spring Initializr 的方式来创建 Spring Boot 项目。网址如下:
https://start.spring.io/
打开后的界面如下:
可以将 Spring Initializr 看作是 Spring Boot 项目的初始化向导,它可以帮助开发人员在一分钟之内创建一个 Spring Boot 骨架,非常的傻瓜式。
来解释一下 Spring Initializr 初始化界面中的关键选项。
1)Project:项目的构建方式,可以选择 Maven 和 Gradle(构建脚本基于 Groovy 或者 Kotlin 等语言来编写,而不是传统的 XML)。默认 Maven 即可。
2)Language:项目的开发语言,可以选择 Java、Kotlin(JetBrains开发的可以在 JVM 上运行的编程语言)、Groovy(可以作为 Java 平台的脚本语言来使用)。默认 Java 即可。
3)Spring Boot:项目使用的 Spring Boot 版本。默认版本即可,比较稳定。
4)Project Metada:项目的基础设置,包括包名、打包方式、JDK 版本等。
5)Dependencies:项目所需要的依赖和 starter。如果不选择的话,默认只有核心模块 spring-boot-starter 和测试模块 spring-boot-starter-test。
好,接下来我们使用 Spring Initializr 初始化一个 Web 项目,Project 选择 Maven,Spring Boot 选择 2.6.1,Java 选择 JDK 8,Dependencies 选择「Build web, including RESTful, applications using Spring MVC. Uses Apache Tomcat as the default embedded container.」
这预示着我们会采用 SpringMVC 并且使用 Tomcat 作为默认服务器来开发一个 Web 项目。
然后点击底部的「generate」按钮,就会生成一个 Spring Boot 初始化项目的压缩包。
解开压缩包,并导入到 Intellij IDEA 中,可以看到 Spring Boot 项目的目录结构。
可以使用 tree -CfL 3
命令以树状图列出目录的内容:
src/main/java 为项目的开发目录,业务代码在这里写。
src/main/resources 为配置文件目录,静态文件、模板文件和配置文件都放在这里。
子目录 static 用于存放静态资源文件,比如说 JS、CSS 图片等。
子目录 templates 用于存放模板文件,比如说 thymeleaf 和 freemarker 文件。
src/test/java 为测试类文件目录。
pom.xml 用来管理项目的依赖和构建。
第一次启动,我个人习惯在 main 类中右键,在弹出的右键菜单这种选择「run … main()」启动。
经过 2.5s 左右的 build 后,项目启动成功了,可以在日志中看到 Web 项目是以 Tomcat 为容器的,默认端口号为 8080,根路径为空。
这要比传统的 Web 项目省事省心省力,不需要打成 war 包,不需要把 war 包放到 Tomcat 的 webapp 目录下再启动。
那如果想把项目打成 jar 包放到服务器上,以 java -jar xxx.jar
形式运行的话,该怎么做呢?
打开 Terminal 终端, 执行命令 mvn clean package
,等待打包结果。
我们的项目在初始化的时候选择的是 Maven 构建方式,所以 pom.xml 文件中会引入 spring-boot-maven-plugin 插件。
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
因此我们就可以利用 Maven 命令来完成项目打包,打包完成后,进入 target 目录下,就可以看到打包好的 jar 包了。
利用终端工具 Tabby,将 jar 包上传到服务器。
执行 java -jar tobebetterjavaer-0.0.1-SNAPSHOT.jar
命令。
what??????竟然没有安装 JDK。好吧,为了带白票阿里云服务器的小伙伴一起学习 Linux,我下了血本自己买了一台零添加的服务器。
PS:需要在 centos 环境下安装 JDK 的小伙伴可以看这篇。
https://segmentfault.com/a/1190000015389941
安装好 JDK 后,再次执行命令就可以看到 Spring Boot 项目可以正常在服务器上跑起来了。
项目既然启动成功了,我们在浏览器里访问 8080 端口测试下吧。
咦,竟然 Whitelabel 了,这个 404 页面是 Spring Boot 默认的错误页面,表示我们的请求在 Web 服务中不存在。
那该怎么办呢?
我们来增加一个 Controller 文件,用来处理 Web 请求,内容如下。
@Controller
public class HelloController {
@GetMapping("/hello")
@ResponseBody
public String hello() {
return "hello, springboot";
}
}
这段代码的业务逻辑非常简单,用户发送 hello 请求,服务器端响应一个“hello, springboot”回去。
OK,现在可以访问到了。也就表明我们的第一个 Spring Boot 项目开发完成了。
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://blog.csdn.net/qing_gee/article/details/122111252
内容来源于网络,如有侵权,请联系作者删除!