SpringBoot是什么?
SpringBoot的出现就是为了方便,为了效率。
是为了应对繁重的配置,底下的开发效率,复杂的部署流程,以及高难度的第三方技术继承而产生的。
它更像一个整合了框架的框架(专注于框架的框架),基于maven的传递依赖和Spring4的条件化配置,实现Spring应用程序上下文里的自动配置。
说到底,SpringBoot还是服务于Spring项目的,只不过是集成了一些常用的其他第三方框架,以及他们之间的约定配置(习惯优于配置,其内部内置了许多习惯性的配置)。
为什么用SpringBoot?
简单呐,基本不用手动配置的,稍微搭建就能够跑起来的东西,谁都喜欢。
正题(优点):搭建快速,提高开发部署效率
1、对主流框架的无配置集成
2、内嵌容器,可独立运行,无需依赖外部容器
3、提供运行时的应用监控
4、与云计算天然集成
怎么用SpringBoot?
问题来了,这么好的东西,怎么用呢?
第一刀:既然SpringBoot是基于Maven/Grandle,所以,我们需要一个构建环境。这里选择Maven。开发工具选择Eclipse。如果你使用的是idea的话,那么你会更方便快速的见到SpringBoot的样子。
1、创建一个Maven项目
2、编辑pom.xml添加如下内容,可以直接从SpringBoot官网进行拷贝。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.0.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
第二刀:创建SpringBoot的启动应用
1、创建一个包boot,里面创建一个类BootTest.java 作为SpringBoot的入口类。
我们这里使用了三个注解
①、@SpringBootApplication 这是一个组合注解(@Configuration , @EnableAutoConfiguration 和 @ComponentScan)
②、RestController 标识了这是一个Controller,该注解继承@Controller,使用该注解针对开发RESTful项目的时候省去使用@ResponseBody的书写(当你实现一个RESTful Web Services的时候,response将一直通过responsebody发送,为了简化开发,spring4.0专门提供了该注解)
③、RequestMapping SpringMVC注解
注:@ComponentScan 扫描器,默认扫描入口类(@SpringBootApplication所在类)所在包下的所有内容(包括子包),若有放到入口类所在包以外的则无法扫描加载到。若想扫描入口类所在包以外的内容,可以在@SpringBootApplication/@ComponentScan中添加scanBasePackages(语法:@SpringBootApplication(scanBasePackages="xx.xx") 如果要配置多个包,则使用String数组的方式进行----->scanBasePackages={"xx.xx","xx.xx"})
2、写一个main方法作为SpringBoot启动的入口,使用SpringApplication.run 用来启动SpringBoot
最后:run as javaapplication,当你看到控制台打印出如下图banner的时候,恭喜你, 已经成功了。在浏览器输入 localhost:8080。我们的hello SpringBoot就完成了。(SpringBoot启动,默认端口是8080,至于相关配置的修改,会在后面进行讲解)