**Study-springboot的one day
(新手小白的第一天 ^ _^)
导入语
为什么学习SpringBoot?
SSM项目的缺陷:
- 需要配置大量的xml配置文件,较为繁琐,降低了开发的效率
- 需要手动管理大量的jar包,容易造成版本的冲突
- 需要将项目打包并放到webapp目录下,部署项目不方便
SpringBoot项目的优势: - 无需配置xml文件,简化开发
- 自动进行依赖的版本管理,避免版本冲突
- 内部配置tomcat容器,简化项目的部署
1.springboot的基本概述
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
2.为什么要用springboot
创建独立的 Spring 应用程序
嵌入的 Tomcat,无需部署 WAR 文件
简化 Maven 配置
自动配置 Spring
提供生产就绪型功能,如指标,健康检查和外部配置
开箱即用,没有代码生成,也无需 XML 配置。
与云计算天然集成
3.SpringBoot的优点
- 创建独立的Spring应用程序
- 嵌入的Tomcat jetty或者undertow不用部署war文件
- 允许通过maven来根据需要获取starter
- 尽可能地使用自动配置Spring
- 提供生产就绪功能,入指标,健康检查和外部配置
- 绝对没有代码生成 ,对xml没有要求配置
小补充:
运行SpringBoot有哪几种方式?
1.打包用命令或者放到容器中进行运行
2.用Maven/Gradle插件运行
3.直接执行main方法运行
4.编写的第一个SpringBoot的工程
4.1 使用maven工具构建一个maven项目
4.2 在pom文件里面引入父级依赖(springboot项目在启动的时候,需要进行自动的配置)
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.1.RELEASE</version>
</parent>
4.3 在pom文件里面引入web启动器
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
4.4 编写controller
4.5编写一个springboot的启动类。来启动我们的springboot项目
@SpringbootApplication
public class App{
public static void main(String[] args){
SpringApplication.run(App.class,args);
}
}
**
5.构建springBoot项目需要注意的细节**
5.1parent标签里面到底定义了什么?
spring-boot-starter-parent继承了spring-boot-dependencies,在spring-boot-dependencies 的里面定义了大量的第三方技术的依赖,并做了相应的版本控制。我们只需要引入某个技术的启动器,如果这个启动器在spring-boot-starter-parent里面存在,那么springboot项目在运行的时候,会进行对应启动器的技术的自动配置
5.2 spring-boot-starter-web里面定义了什么?
json格式数据转换的依赖、springmvc的依赖、tomcat的依赖…
5.3 springboot如何进行包扫描?
在springboot的启动器上,有一个@SpringbootApplication注解,在这个注解下面,有一个@ComponentScan注解,这个注解专门进行包扫描的操作,扫描的规则是:扫描当前注解所在的类同级的包以及下面的所有子包。