美文网首页工作生活
Spring全家桶学习笔记 03 | 编写第一个Spring程序

Spring全家桶学习笔记 03 | 编写第一个Spring程序

作者: xeathen | 来源:发表于2019-07-02 14:24 被阅读0次

    理解了IoC与DI,我们就可以着手编写第一个Spring程序了。

    本章目录

    • 如何通过spring.io创建基础骨架

    • 骨架的基本结构

    • 运行项目

    • 简单的分析pom.xml

    • 一些疑问解答

    生成骨架

    • 首先访问 https://start.spring.io/ ,这是spring官方的骨架生成器网站Spring Initializr
    生成Spring骨架
    • 选择Maven工程
    • Spring Boot使用默认的2.1.6版本
    • Artifact属性就是生成的项目名称
    • Dependencies方面选择Web支持与Actuator。

    打开项目

    • IDE选择IntelliJ IDEA,打开项目后的目录结构如下
    项目目录结构
    • 其中HelloSpringApplication类是带有SpringBootApplication注解的入口程序
    入口程序
    • application.properties则是spring自动生成的一个空的配置文件。

    • 接着我们编辑HelloSpringApplication

      HelloSpringApplication

      添加@RestController注解,同时新增一个简单的hello接口。编辑之后即可运行程序

    运行项目

    项目成功运行之后,我们可以再IDEA的run窗口看到Spring Boot内置的Tomcat已经跑在了本机的8080端口上

    8080端口
    • 打开IDEA的Terminal窗口,或是自行打开cmd切换至本项目的路径

      hello接口
    • 回车之后就能看到接口返回的字符串了

      返回的字符串

    好了,至此我们的项目已经是一个完整的服务器应用了,那么我们在创建过程中总共做了哪些工作呢?

    • 利用骨架生成器生成Spring Boot骨架项目

    • 用IDEA打开项目,自动下载依赖包等

    • 添加@RestController控制器注解,写了一个极为简单的接口。

    一个Spring Boot项目从无到有只需这3步,这就是Spring Boot的魅力所在了。

    那先前与web模块一同添加进项目的Actuator用意何在呢?

    Spring Boot Actuator是spring boot项目一个监控模块,它可以帮助你监控和管理Spring Boot应用,比如健康检查、审计、统计和HTTP追踪等。

    • 下面演示一个简单使用,在Terminal或CMD中输入以下命令:
    curl http://localhost:8080/actuator/health
    

    这个内置接口能够告诉我们此时运行的应用程序的状态如何,如果一切正常,则会返回以下结果

    health检查

    体验了接口之后,你可能会想,Web模块与Actuator模块是我们在利用骨架生成工具时勾选添加的,那么实际上项目是如何添加这几个模块的依赖呢?接下来让我们来揭开项目根目录下pom.xml的面纱。

    分析项目

    pom.xml是Maven工程的特点,如果你更熟悉Gradle的话,我猜测你在Android领域应该有所建树了,自然也能够快速上手Maven。打开pom.xml文件,就能看到Spring Boot自动生成的内容

    pom.xml

    其中Spring Boot指定了spring-boot-starter-parent作为我们整个Maven工程的parent,而2.1.6的版本是先前我们在网站上指定的

    parent

    项目所使用的Java版本由我们指定为了1.8

    java版本

    以下就是项目的依赖,原来web模块与actuator模块是在此处被引入项目的

    dependency

    或许你看到这里会很奇怪,为什么这些依赖没有指定版本号呢?那是因为在Spring Boot中我们只需要告诉maven我们需要什么依赖,而其对应的版本号则是由parent管理的。

    接下来我们能够看到文件的最后引入了一个plugin,这个plugin的功能就是在我们打包项目的过程中生成一个可执行的jar包,下面来演示一下这个功能

    • 在Terminal中输入以下命令
    mvn clean package -Dmaven.test.skip
    

    等待数秒之后,可以看到以下输出信息

    打包成功

    我们暂时不去深究命令,只需知道它能够打出我们想要的jar包就足够了。此时我们将目光移向项目目录,能够发现src文件夹下新增了一个target文件夹,将其展开就能够看到我们所需的jar包了

    target
    • 在Terminal窗口中输入以下命令,进入target路径,运行jar包
    运行jar包

    数秒之后就能看到我们的应用已经成功跑起来了,这种以java -jar 的方式与直接点击run按钮并无区别。

    运行成功

    一些疑问

    • 为什么打出的包是jar包而不是war包?

      Spring Boot默认打出的是可执行的Jar包,这个Jar包与普通的jar包结构不同,其中包含所依赖的各种Jar,同时也会有Web容器,因此无需容器就能够直接运行。

    • 为什么不是curl http://localhost:8080/hello-spring/hello ?
      因为这个项目就是发布在ROOT,即直接发布在/的。

    到此我们已经写完了第一个Spring应用程序,也成功将它跑了起来,简单两笔就勾绘出了Spring最基础的样子,这就是Spring Boot想要带给我们的。

    相关文章

      网友评论

        本文标题:Spring全家桶学习笔记 03 | 编写第一个Spring程序

        本文链接:https://www.haomeiwen.com/subject/zipzcctx.html