SpringBoot入门(一)——开箱即用

本文来自网易云社区

 

Spring Boot是什么

从根本上来说Spring Boot就是一些库的集合,是一个基于“约定优于配置”的原则,快速搭建应用的框架。本质上依然Spring,在这之上帮咱们省去了不少样板化的配置,使得咱们可以更专一于应用程序功能的开发。java

 

Spring Boot精要

SpringBoot将不少魔法带入了Spring应用程序的开发之中,其中最重要的是如下四个核心web

 

  • 自动配置:针对常见的应用功能,SpringBoot自动提供相关的配置,减小用于样板化配置的时间spring

  • 起步依赖:指定基于功能的依赖,用更大粒度的依赖来下降依赖的复杂度服务器

  • 命令行界面:这是SpringBoot的可选特性,借此你只须要写代码就能完成完整的应用程序,无需传统项目构建网络

  • Actuator:让你可以深刻运行中的SpringBoot应用程序一探究竟app

 

从Spring开始

为了体现SpringBoot的优点,咱们先来看看若是使用Spring开发一个简单的Hello World Web应用程序,咱们须要作的事情:框架

 

  • 一个项目结构,其中有一个包含必要依赖的Maven或者Gradle构件文件,最起码要有Spring MVC和Servlet API这些依赖spa

  • 一个web.xml文件(或者一个WebApplicationInitializer实现),其中声明了Spring的DispatcherServlet命令行

  • 一个启用Spring MVC的Spring配置3d

  • 一个控制器类,以"Hello World"响应HTTP请求

  • 一个用于部署应用程序的Web应用服务器,好比Tomcat

 

能够看到上面一系列的事中只有编写控制器是和HelloWorld功能相关的,虽然现代的IDE也能帮咱们简化掉一些步骤,可是Spring相关的配置就算从别的工程拷贝也仍是逃不了这一步。

接下来让咱们来看下用Spring Boot是什么样的状况。

 

 

Spring Boot开箱即用

你上次在超市或大型零售商店本身推开门是何时?大多数大型商店都安装了带感应功能的自动门,虽然全部门都能让你进入建筑物内,但自动门不用你动手推拉。 与之相似,不少公共场所的卫生间里都装有自动感应水龙头和自动感应纸巾机。虽然没有超市自动门这么普及,但这些设施一样对你没有太多要求,能够很方便地出水和纸巾。 我敢打赌你也能想出无数例子,证实设备让现代生活更加自动化,而不是增长障碍。

下面经过一个例子来展现Spring Boot是如何开箱即用的。 依然是Hello World Web项目,咱们来看下如何用InteliJ IDEA来建立。 点击IDEA的File-New-Project...,选择左边选项卡中的Spring Initializr,能够看到以下界面。

使用默认的https://start.spring.io,这将会链接网络,查询Spring Boot当前可用版本和组件列表。(当前时间用的是Spring Boot的2.0.0.RELEASE)

Next-输入项目信息-Next,来到选择起步依赖界面,以下:

 

 

对于一个简单的Hello World Web项目来讲,这里只用勾选Web便可(我在这里另外勾选了Thymeleaf,在窗口的最右边能够看到)。 在这个界面能够看到Spring Boot为咱们提供的大量的起步依赖。咱们所勾选的web会为咱们注入Web相关的全部依赖,省去咱们本身配置依赖的时间。

再点击一次Next工程就新建完成了,等待下载相关的Maven依赖(第一次所花费的时间可能比较久)和IDEA建立索引。

 

建立完成后,项目结构以下图所示:

 

是一个常见的Maven项目结构,比较特别的是Spring Boot为咱们自动生成了2个文件,application.properties和BlogDemoApplication.java。

 

application.properties是Spirng Boot默认的配置文件,当期是个空文件,如今不用理会后面会细讲。

 

BlogDemoApplication.java是Spring Boot自动生成的启动类。有了这个类,如今这个项目已是一个能够启动的Web项目了,虽然尚未任何控制器,咱们依然能够试着访问默认端口8080。 若是IDEA没有自动建立启动配置,能够自行到Run/Debug Configurations里添加。添加时选择Spring Boot,在右边选框的"Main class"中选择自动生成的启动类,以下:

 

 

点击运行后,访问8080端口将获得Spring Boot默认的错误页:

 

 

接着就能够开发咱们的功能了——Hello World。

 

@Controller@RequestMapping("/demo")public class HelloWorldController {    @RequestMapping("/hello")    @ResponseBody
    public String hello(){        return "hello";
    }
}

 

很简单一个Controller,最后再次启动项目,已经能愉快的hello了!

 

 

 

小结

 

回顾一下,去掉啰嗦的介绍,实际上的操做只有点点点、输入项目名、再编写一下Controller就完成了一个Hello World。仿佛回到了初学Java的年代,那时候仍是Eclipse,也是点点点、输入项目名、而后编写一个main方法控制台输出一个hello。步骤类似,然而此次获得的已然是一个拥有众多Spring特性的一个Web工程。

 

 

 

 

相关阅读:SpringBoot入门(一)——开箱即用

SpringBoot入门(二)——起步依赖

SpringBoot入门(三)——入口类解析

SpringBoot入门(四)——自动配置

SpringBoot入门(五)——自定义配置

 

网易云新用户大礼包:https://www.163yun.com/gift

 

本文来自网易云社区,经做者金港生受权发布。

相关文章
相关标签/搜索