SpringBoot-学习-1-概念篇

文章目录

  • 前言
  • 一、约定优于配置
  • 二、SpringBoot概念
    • 1.什么是SpringBoot
    • 2.SpringBoot主要特性
      • 1、SpringBoot Starter(起步依赖)
      • 2、使编码变得简单
      • 3、自动配置
      • 4、部署更简单
  • 问题遗留
  • 总结


前言

SpringBoot是目前项目中用的最广泛的框架之一,一直在使用但是从来没有仔细深入的学习过,从这一篇开始会持续的将SpringBoot的学习过程完整的记录下来,会包含系统的学习使用、源码阅读、案例分析、踩坑经验等,期待体系化的的技术提升。


一、约定优于配置

概念:约定优于配置,又称按约定编程,是一种软件设计规范。
本质上是对系统、类库或框架中的一些东西假定一个大众化合理的默认值(或者默认格式)
理解:比如项目的结构大家都会使用一些固定名称来表示对应作用的包,dao包、service包等;又比如一些类名的命名Abstract开头的是抽象类这种都是一些规范
规范只是规范,不是强制标准,但是使用规范会让世界更美好,非得特立独行创造自己的规范可能得不偿失

举例如下:
例如在模型中有一个名为User的类,那么对应在数据库中就会存在一个名为user的表,此时无需做额外的配置就可以(遵守约定),但如果你想将表名改成t_user的话(也就是偏离约定),那你就需要手动进行映射配置

好处:让世界更美好,减少不必要的配置开发

二、SpringBoot概念

1.什么是SpringBoot

spring官方的网站:https://spring.io/
SpringBoot-学习-1-概念篇_第1张图片
我们可以看到官网上对SpringBoot的描述:Spring Boot 可以轻松创建可以“直接运行”的独立的、生产级的基于 Spring 的应用程序

下面是百度百科上的一些描述:
SpringBoot-学习-1-概念篇_第2张图片
我们可以看到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构建中
SpringBoot-学习-1-概念篇_第3张图片

2、使编码变得简单

SpringBoot采用JavaConfig的方式对Spring进行配置,并且提供了大量的注解,极大地提高了工作效率

看图:
SpringBoot-学习-1-概念篇_第4张图片
我们前面说了springboot是基于spring4.0设计的,spring3.0以后就支持了JavaConfig的方式配置,但是4.0以后才可以完全舍弃xml的配置方式,SpringBoot是在4.0的基础上,所以它采用的就是JavaConfig的配置方式

现在要生成一个Bean对象并存到IOC容器中要怎么做呢?举个例子就知道了
SpringBoot-学习-1-概念篇_第5张图片
可以看到,我们不需要再写applicationContext.xml文件,然后再定义bean标签指定坐标等等,直接一个JavaConfig类两个注解就可以了

3、自动配置

SpringBoot的自动配置特性利用了Spring对条件话配置的支持,合理的推测应用所需要的bean并自动化配置他们
SpringBoot-学习-1-概念篇_第6张图片
这里有个疑问:SpringBoot在启动的过程中都会对哪些配置类里面的bean进行装配?自动装配的底层原理又是什么?

4、部署更简单

SpringBoot内置了三种Servlet容器,Tomcat,Jetty,undertow.我们只需要一个
Java的运行环境就可以跑SpringBoot的项目了,SpringBoot的项目可以打成一个jar包。

问题遗留

1、SpringBoot在启动的过程中都会对哪些配置类里面的bean进行装配?自动装配的底层原理又是什么?

总结

本文是SpringBoot的第一篇,重点记录了一些基本的概念和SpringBoot的几大特性,遗留的问题会在后面学习到以后回来补充答案

你可能感兴趣的:(SpringBoot,spring,boot,java,spring)