简介

spring boot 它的设计目的就是为例简化开发,开启了各种自动装配,你不想写各种配置文件,引入相关的依赖就能迅速搭建起一个web工程。它采用的是建立生产就绪的应用程序观点,优先于配置的惯例。

可能你有很多理由不放弃SSM,SSH,但是当你一旦使用了springboot ,你会觉得一切变得简单了,配置变的简单了、编码变的简单了,部署变的简单了,感觉自己健步如飞,开发速度大大提高了。就好比,当你用了IDEA,你会觉得再也回不到Eclipse时代一样。另,本系列教程全部用的IDEA作为开发工具。

建构工程

你需要:

  • 15分钟
  • jdk 1.8或以上
  • maven 3.0+
  • Idea

打开Idea-> new Project ->Spring Initializr ->填写group、artifact ->钩上web(开启web功能)->点下一步就行了。

工程目录

创建完工程,工程的目录结构如下:




idea generator没有spring idea为什么没有spring_idea没有springboot


  • pom文件为基本的依赖管理文件
  • resouces 资源文件
  • statics 静态资源
  • templates 模板资源
  • application.yml 配置文件
  • SpringbootApplication程序的入口。

pom.xml的依赖:


idea generator没有spring idea为什么没有spring_jar_02


其中spring-boot-starter-web不仅包含spring-boot-starter,还自动开启了web功能。

功能演示

说了这么多,你可能还体会不到,举个栗子,比如你引入了Thymeleaf的依赖,spring boot 就会自动帮你引入SpringTemplateEngine,当你引入了自己的SpringTemplateEngine,spring boot就不会帮你引入。它让你专注于你的自己的业务开发,而不是各种配置。

再举个栗子,建个controller:


idea generator没有spring idea为什么没有spring_jar_03


启动SpringbootFirstApplication的main方法,打开浏览器localhost:8080,浏览器显示:

Greetings from Spring Boot!

神奇之处:

  • 你没有做任何的web.xml配置。
  • 你没有做任何的sping mvc的配置; springboot为你做了。
  • 你没有配置tomcat ;springboot内嵌tomcat.

启动springboot 方式

cd到项目主目录:

mvn clean mvn package 编译项目的jar
  • mvn spring-boot: run 启动
  • cd 到target目录,java -jar 项目.jar

来看看springboot在启动的时候为我们注入了哪些bean

在程序入口加入:


idea generator没有spring idea为什么没有spring_配置文件_04


程序输出:

Let’s inspect the beans provided by Spring Boot:basicErrorControllerbeanNameHandlerMappingbeanNameViewResolvercharacterEncodingFiltercommandLineRunnerconventionErrorViewResolverdefaultServletHandlerMappingdefaultViewResolverdispatcherServletdispatcherServletRegistrationduplicateServerPropertiesDetectorembeddedServletContainerCustomizerBeanPostProcessorerrorerrorAttributeserrorPageCustomizererrorPageRegistrarBeanPostProcessor….….

在程序启动的时候,springboot自动诸如注入了40-50个bean.

单元测试

通过@RunWith() @SpringBootTest开启注解:


idea generator没有spring idea为什么没有spring_jar_05


运行它会先开启sprigboot工程,然后再测试,测试通过 ^.^