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等等