1.跟我学SpringBoot-开篇引言

好几个月没用写博客,写东西的感觉都快不记得了。今天再次平静的坐在屏幕前,敲击机械键盘,感觉还是非常好的。
《功夫熊猫2》里面有一个单词:Inner peace,用这个词形容再准确不过了。内心平静了,物我两忘!即使再忙也要抽时间对自己的知识进行总结提炼,并进一步深化。

下面这个系列要讲的是SpringBoot,微服务的脚手架。如果评选2017年软件开发最火的,当属AI,在硅谷创业的IT工程师,90%都是AI方向的。当然从事AI的方向比较多,比如机器学习、大数据挖掘、人脸识别、语音识别等,但要从Java开发方向来讲,最火的领域就是微服务。自动SpringCloud从2015年底诞生,经过2016年的一年酝酿,2017年开发大爆发,多个科技公司在选择自己企业的微服务框架时,都投向了SpringCloud的怀抱,舍弃了阿里Dubbo。虽然两个相比,都有各自的优势与不足,但Spring社区的活跃度与贡献者都是Dubbo不能比的。这一个系列主要讲SpringBoot的各个用法,为后续的微服务做基础。

SpringBoot的诞生还是很有趣的,学习Java应用开发的,肯定会对其中的各种xml配置搞晕,在SSH框架刚诞生时,讲三个框架的整合,是很深的一门学问,因为三个框架单单xml配置就能把人搞晕。后来出了注解,简化了多项配置,但是还存在xml配置过多过臃肿问题。有一个单词叫xml evil ,说的就是java应用开发太繁杂的xml配置。因为繁杂,好多人学过.NET开发的,一下就被吓住了,门槛太高。现在社会上java程序员的工资比.NET高的原因,一个就是java开发配置很复杂,一般人搞不定。所以在对比其他语言,比如ruby、比如php等时,java的xml配置是最受人诟病的。因此为彻底解决这个问题,SpringBoot横空出世了,颠覆了多数人对java开发的看法,全都默认配置,及时一个配置也没有,一样可以启动应用,一样部署程序。

当然如果想深入掌握SpringBoot,还是要有Spring的基础的,没有Spring的基础就等于无本之木,无源之水,碰到问题还是解决不了的。

SpringBoot图标.jpeg

先来看看官方定义

1.什么是Spring Boot?

Spring Boot框架是由Pivotal团队提供的全新框架,其设计目的是用来简化基于Spring应用的初始搭建以及开发过程。SpringBoot框架使用了特定的方式来进行应用系统的配置,从而使开发人 员不再需要耗费大量精力去定义模板化的配置文件。Pivotal是在开源社区有很大的影响,公司名翻译成中文叫必微诺,估计很少人知道,但是说Spring由他们公司维护,估计就无人不知了。

2.什么是Spring Cloud?

Spring Cloud是一个基于Spring Boot实现的云应用开发工具,它为基于JVM的云应用开发中的配置管理、服务注册,服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等操作提供了一种简单的开发方式。

3.微服务,Spring Boot,Spring Cloud三者之间的关系

思想:微服务是一种架构的理念,提出了微服务的设计原则,从理论为具体的技术落地提供了指导思想。
脚手架:Spring Boot是一套快速配置脚手架,可以基于Spring Boot快速开发单个微服务。
多个组件的集合:Spring Cloud是一个基于Spring Boot实现的服务治理工具包;Spring Boot专注于快速、方便集成的单个微服务个体;Spring Cloud关注全局的服务治理框架。

4. Everything is jar, Everything is http

Spring Boot通过@SpringBootApplication注解标识为Spring Boot应用程序。所有的应用都通过jar包方式编译,部署和运行。

@SpringBootApplication
public class Application {
       public static void main(String[] args) {     
           SpringApplication.run(Application.class, args);       
           System.out.println(”启动成功!");
       }
   }

可以看到,SpringBoot的启动非常简单,真正达到了一分钟就可以开发一个应用的地步,不输给Ruby等。

每个Spring Boot的应用都可以通过内嵌web容器的方式提供http服务,仅仅需要在pom文件中依赖spring-boot-start-web即可,原则上微服务架构希望每个独立节点都提供http服务。

SpringBoot的打包方式不同于以前的web程序,SpringBoot应用是以jar方式打包的,自带tomcat,可以不依赖额外的tomcat容器启动。对外提供方式多数都是http服务。

这里如果开发只有SpringBoot,是没问题的,可以完成多数功能。但是如果开发SpringCloud,没有SpringBoot是完全不行的。SpringBoot的用途非常广,同时随着现在互联网应用开发前后端分离模式的推广,SpringBoot就成为编写API接口的具体实现方式,后续以api接口开发作为例子,进行各个功能的介绍。

5.总结

如果没学过Spring的,建议先学Spring的基础,有了基础,学习SpringBoot基本是分分钟的事。
后续我会根据项目经验依次讲解SpringBoot的各项应用。

专集包含内容一览

共包含以下章节:

所有代码示例参照:

https://github.com/chykong/java_springboot

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270