作用
SpringBoot 是为了简化 Spring 应用的创建, 运行, 调试, 部署等等而出现的, 使用它可以专注业务开发, 不需要太多的 xml 的配置.
核心功能
1, 内嵌 Servlet 容器 (tomcat,jetty), 可以以 jar 包的方式独立运行, 无需以 war 包形式部署到独立的 servlet 容器中
2, 提供很多的 starter 简化 maven 依赖配置
3, 自动装配 bean
4, 提供使用 java 配置和注解配置, 不建议 xml 配置
工程创建
使用 IDEA:File-->New-->Project-->Spring Initializr, 然后两次 Next 就可以了
SpringBoot 必须使用 JDK1.8 以上
项目结构
src/main/java: 业务代码
src/main/resources: 配置文件
src/main/resources/static: 静态资源如 JS,CSS, 图片, html
src/main/resources/templates: 模板文件
src/test/java: 测试类
POM 文件
- <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 等等
来源: https://www.cnblogs.com/dongguacai/p/10230221.html