大家好,我是IT修真院深圳分院第03期学员,一枚正直纯洁善良的程序员。今天给大家分享一下,修真院官网JAVA(职业)深度思考的扩展题目—— Spring Boot入门。
1.背景介绍
微服务是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的,每个微服务仅关注于完成一个功能。使用Spring Cloud可以快速搭建微服务,而Spring Cloud是基于Spring Boot的。
2.知识剖析
Spring Boot是由Pivotal团队提供的基于Spring4 的条件注册的一套快速开发整合包,其设计目的是用来简化新Spring 应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。 spring boot其实不是什么新的框架,它默认配置了很多框架的使用方式,就像maven整合了所有的jar包,SpringBoot 提供了基于spring 的各种starter(传感器)的快速启动。
Spring Boot将很多魔法带入了Spring应用程序的开发之中,其中最重要的是以下四个核心。
自动配置:针对很多Spring应用程序常见的应用功能,Spring Boot能自动提供相关配置
起步依赖:告诉Spring Boot需要什么功能,它就能引入需要的库。
命令行界面:这是Spring Boot的可选特性,借此你只需写代码就能完成完整的应用程序,无需传统项目构建。
Actuator:让你能够深入运行中的Spring Boot应用程序,一探究竟。
3.常见问题
1.SpringBoot和Spring的关系?
2.起步依赖是什么?
3:SpringBoot中如何配置属性?
4.解决方案
1.Spring Boot和Spring的关系?
spring就好比一个大型的电子元件生产公司,它生产的元件性能都很优秀,但是坊间使用它的元件的作坊,拿到手之后 还得搞一些电焊,衔接,可能要花个10天半个月最后做成一个家电或者机器人。有一天这个公司就宣布,我们现在提供 了一些功能模块,比如摄像头传感器,扩音器传感器,压力传感器,它们都是统一的usb接口的,只需要插线连接就能使用了。
Spring Boot没有引入任何形式的代码生成,而是利用了Spring 4的条件化配置特性, 以及Maven和Gradle提供的传递依赖解析,以此实现Spring应用程序上下文里的自动配置。 简而言之,从本质上来说,Spring Boot就是Spring,它做了那些没有它你自己也会去做的Spring Bean配置。有了Spring Boot,你不用再写这些样板配置了,可以专注于应用程序的逻辑, 这些才是应用程序独一无二的东西。
2.起步依赖是什么?
我们把以Spring-boot-starter-xx作为名字的jar包称为Spring Boot的起步依赖。这一类的依赖是spring提供的针对日常企业应用开发各种场景的自动依赖模块,就像是一个工具箱,装好了你需要的各种工具(依赖),“开箱即用”使得开发各种场景的spring应用更加迅捷。
3.SPRINGBOOT中如何配置属性?
实际上,Spring Boot应用程序有多种设置途径。Spring Boot能从多种属性源获得属性,包括 如下几处。
(1) 命令行参数
(2) java:comp/env里的JNDI属性
(3) JVM系统属性
(4) 操作系统环境变量
(5) 随机生成的带random.*前缀的属性(在设置其他属性时,可以引用它们,比如${random. long})
(6) 应用程序以外的application.properties或者appliaction.yml文件
(7) 打包在应用程序内的application.properties或者appliaction.yml文件
(8) 通过@PropertySource标注的属性源
(9) 默认属性 这个列表按照优先级排序,也就是说,任何在高优先级属性源里设置的属性都会覆盖低优先 级的相同属性。例如,命令行参数会覆盖其他属性源里的属性。
5.编码实战
6.扩展思考
SpringBoot启动原理?
7.参考文献
参考一:SpringBoot实战干货系列
参考二:《SpringBoot揭秘:快速构建微服务体系》
8.更多讨论
今天的分享就到这里啦,欢迎大家点赞、转发、留言、拍砖~
技能树.IT修真院
“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。
这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧。