springBoot使用的优点
--快速创建独立运行的Spring项目以及与主流主流框架集成
--使用嵌入式的servlet容器,应用无需打成war包
--starters自动依赖与版本控制
--大量的自动配置,简化开发,也可修改默认值
--无需配置XML,无代码生生,开箱即用
--准生产环境的运行时应用监控
--与云计算的天然集成
微服务的简介:
SpringBoot项目的准备工作
springboot的环境约束:
--jdk1.8:Spring Boot 1.7及以上:java version “1.8”
--maven3.x:maven3.3以上版本;
--IDEA
--SpringBoot 1.5.9.RELEASE
Maven中setting.xml文件
IDEA工具的配置
SpringBoot创建HelloWord项目
创建项目
选择自动导入
导入springboot依赖
到springboot官网里面找到所需依赖
编写一个主程序,启动springboot应用
创建controller层,创建hellocontroller类向浏览器发送json数据。
测试
直接运行main方法
可以看到运行结果
简化部署操作
导入相关插件
直接以jar包的方式运行
运行结果也是一样的
通过解压工具打开可以看到很多tomcat嵌入式jar包,所以目标程序就不需要在运行tomcat服务器了
那为什么springboot开发如此便捷呢?
1.pom文件
在他的父类中存在很多的依赖约束
在spring boot的版本仲裁中心:以后我们导入依赖默认是不需要写版本的;(没有在dependencies里面管理的依赖自然需要声明版本号)
导入的依赖spring-boot-starter-web:springboot场景启动器,帮我们导入了web模块正常运行所依赖的组件;
进入到里面
声明了大部分的spring的依赖jar包,
官网中提供了各种场景启动器
运行main方法中springapplication.run方法中传入的类一定是被注解@SpringBootApplication标注的类
主程序分析
@SpringBootApplication:Sring Boot应用标注在某个类上说明这个类是SpringBoot的主配置类,SpringBoot就应该运行这个类的main方法来启动SpringBoot应用;
@SpringConfiguration :配置类
进来可以看到configuration本身就是一个component组件
@EnableAutoConfiguration:开启自动配置功能
autoconfigurationpackages:将主配置类(@SpringBootApplication标注的类)的所在包及下面子包里面的所有组件扫描到Spring容器;
import里面加入的组件:导入哪些组件的选择器
可以看到它底层通过List集合保存自动配置类信息:将所有需要场景的自动配置类装配好,这样免去我们去配置各种组件的配置信息。
那它是如何获取到这些自动配置类的呢?
可以看到配置类的信息时来自