在公司的闲谈中,我们聊起了公司的架构,久经沙场的大鸟,想考一考刚毕业 的小菜,说“小菜,听说你对架构很了解,那咱们公司用的SpringBoot,你能介绍一下吧!”
这个问道了小菜擅长点了,他说,这还不简单,然后霹雳吧啦说了一大串。他说:SpringBoot是一个快速整合第三方的框架,他很大程度上简化了XML配置,完全注解化,内置Web服务,帮助开发者能够实现快速开发,SpringBoot的Web控制层框架默认集成了SpringMVC.
大鸟听了,感觉还不错,的确做过攻略的。接着问:“是不是我用了SpringBoot就是微服务了呢?“
小菜刚刚还嘚瑟的表情,顿时呆着了,支吾吾说,应该是吧!
大鸟语重心长的说:“不是的,年轻人,如果在项目中,单独的使用SpringBoot,不是实现微服务,因为SpringBoot不是微服务框架。如果我们想微服务化,那就需要SpringCloud整合SpringBoot。”
小菜似懂非懂的表情,说,“”那我们为啥要用springBoot呀,我们之前用的传统项目不也挺好的嘛?,我感觉两者用着没有啥区别呀,都是controller、service、dao层呢“,说着不仅疑惑的挠挠头。
大鸟说:“传统的SSM项目,我们在整合数据访问层、业务逻辑层、事务配置、SpringMVC…需要写很多的配置文件,而且在搭建的过程中,会有jar包重突的情况。让很多的开发人员很烧脑。但是SpringBoot,底层帮我们实现了版本统一Maven集成原理,防止了jar重突。同时它入门简单,很容易上手实操。开箱即用,没有代码生成,也无需XML配置。同时也可以修改默认值来满足特定的需求”
大鸟讲了了SpringBoot明显看出很兴奋,可以看出SpringBoot的确给他带来了很多的便利,这小菜可就成真正的“菜”了,俩眼一瞪,明显已经挺傻了。大鸟看到小菜这么想学,说那我带你看一下源码吧。俩人上机实操了起来。
大鸟从SpringBoot的搭建开始给小菜介绍;
步骤
- 创建Maven工程
- 添加SpringBoot的起步依赖
(1)项目要继承SpringBoot的起步依赖spring-boot-starter-parent
(2)SpringBoot要集成SpringMVC进行Controller的开发,所以项目要导入web的启动依赖
3.编写SpringBoot引导类。
4.编写Controller(在引导类MySpringBootApplication同级包或者子级包中创建QuickStartController)
大功告成,然后我们就可以运行成功了,小菜看着很兴奋,的确是嘛,搭建好简单呀,说着又开始挠头,但又有新问题了。大鸟笑笑说,“没事,说吧“”
小菜毫不客气,一连问了好几个问题;
- 为什么Controller不需要包扫描,就可以注入到SpringBean中呢?
- 您不是说,SpringBoot可以减少jar包重突嘛,如何体现的呀?
- SpringBoot加载配置文件,是如何加载的呢?
- 不都说SpringBoot是“约定大于配置”嘛,如何体现了呢?
大鸟看着小菜这么多问题,然后看看时间,该下班,接宝贝女儿了,打了个哑谜,“预知后事如何,且听下回分解”,并留下了一个坏坏的笑。
小菜,一脸萌萌的瞅着大鸟,说好吧好吧,明天要继续哟!