SpringBoot是爲了簡化Spring應用的建立、運行、調試、部署等等而出現的,使用它能夠專一業務開發,不須要太多的xml的配置。css
一、內嵌Servlet容器(tomcat、jetty),能夠以jar包的方式獨立運行,無需以war包形式部署到獨立的servlet容器中html
二、提供不少的starter簡化maven依賴配置java
三、自動裝配beanweb
四、提供使用java配置和註解配置,不建議xml配置spring
使用IDEA:File-->New-->Project-->Spring Initializr,而後兩次Next就能夠了tomcat
SpringBoot必須使用JDK1.8以上springboot
src/main/java:業務代碼websocket
src/main/resources:配置文件socket
src/main/resources/static:靜態資源如js、css、圖片、htmlmaven
src/main/resources/templates:模板文件
src/test/java:測試類
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency>
在建立好的SpringBoot工程中會自動引入兩個starter,可是並無定義版本號,這是因爲SpringBoot版本號統一由父POM管理,原理和優勢與Maven的父pom相似。
spring-boot-starter-parent就是父pom,它只是一個pom文件,並非真正的jar包
可是spring-boot-starter-parent也沒有定義具體的版本號,同時它也有一個父pom:spring-boot-dependencies:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.1.1.RELEASE</version> <relativePath>../../spring-boot-dependencies</relativePath> </parent>
而在這個pom文件中則定義了springboot全部starter的版本號:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> <version>2.1.1.RELEASE</version> </dependency> <dependency> <groupId>antlr</groupId> <artifactId>antlr</artifactId> <version>${antlr2.version}</version> </dependency>
springboot一個重要的特性就是解決了全部依賴的版本問題,只需引入對應的starter便可。
在官網中咱們能夠去查找springBoot幫咱們定義好的全部starter:有消息組件、AOP、ES、JDBC等等