前言
SpringBoot是目前项目中用的最广泛的框架之一,一直在使用但是从来没有仔细深入的学习过,从这一篇开始会持续的将SpringBoot的学习过程完整的记录下来,会包含系统的学习使用、源码阅读、案例分析、踩坑经验等,期待体系化的的技术提升。
一、约定优于配置
概念:约定优于配置,又称按约定编程,是一种软件设计规范。 本质上是对系统、类库或框架中的一些东西假定一个大众化合理的默认值(或者默认格式) 理解:比如项目的结构大家都会使用一些固定名称来表示对应作用的包,dao包、service包等;又比如一些类名的命名Abstract开头的是抽象类这种都是一些规范 规范只是规范,不是强制标准,但是使用规范会让世界更美好,非得特立独行创造自己的规范可能得不偿失
举例如下: 例如在模型中有一个名为User的类,那么对应在数据库中就会存在一个名为user的表,此时无需做额外的配置就可以(遵守约定),但如果你想将表名改成t_user的话(也就是偏离约定),那你就需要手动进行映射配置
好处:让世界更美好,减少不必要的配置开发
二、SpringBoot概念
1.什么是SpringBoot
spring官方的网站:https://spring.io/ 我们可以看到官网上对SpringBoot的描述:Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序
下面是百度百科上的一些描述: 我们可以看到SpringBoot是基于Spring4.0设计的,为什么重点强调呢?我们都知道在Spring3.0的时候就已经支持了JavaConfig的配置方式,也就是说在Spring3.0版本我们就可以无需编写像applicationContext.xml这样的配置文件了,但是spring3.0版本对应的是servlet3.0规范,虽然可以舍弃xml文件,但是依然建议保留xml文件配置,但是Spring4.0版本就已经可以彻底的舍弃掉所有的xml文件了。 那既然SpringBoot是基于Spring4.0版本设计的,也就是说他可以完全舍弃掉xml文件,需要配置的时候都可以使用javaConfig方式进行配置
总结:什么是SpringBoot:SpringBoot就是可以让你尽快跑起来Spring应用程序并且尽可能减少你的配置文件的Spring框架
2.SpringBoot主要特性
1、SpringBoot Starter(起步依赖)
将常用的依赖分组进行了整合,将其合并到一个依赖中,这样就可以一次性添加到项目的Maven或者Gradle构建中
2、使编码变得简单
SpringBoot采用JavaConfig的方式对Spring进行配置,并且提供了大量的注解,极大地提高了工作效率
看图: 我们前面说了springboot是基于spring4.0设计的,spring3.0以后就支持了JavaConfig的方式配置,但是4.0以后才可以完全舍弃xml的配置方式,SpringBoot是在4.0的基础上,所以它采用的就是JavaConfig的配置方式
现在要生成一个Bean对象并存到IOC容器中要怎么做呢?举个例子就知道了 可以看到,我们不需要再写applicationContext.xml文件,然后再定义bean标签指定坐标等等,直接一个JavaConfig类两个注解就可以了
3、自动配置
SpringBoot的自动配置特性利用了Spring对条件话配置的支持,合理的推测应用所需要的bean并自动化配置他们 这里有个疑问:SpringBoot在启动的过程中都会对哪些配置类里面的bean进行装配?自动装配的底层原理又是什么?
4、部署更简单
SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个 Java的运行环境就可以跑SpringBoot的项目了,SpringBoot的项目可以打成一个jar包。
问题遗留
1、SpringBoot在启动的过程中都会对哪些配置类里面的bean进行装配?自动装配的底层原理又是什么?
总结
本文是SpringBoot的第一篇,重点记录了一些基本的概念和SpringBoot的几大特性,遗留的问题会在后面学习到以后回来补充答案
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/1464.html