SpringBoot Spring SpringMVC关系梳理
1.他们的关系大概是:Spring Boot(包含的内容)>Spring>Spring MVC
2.Spring MVC只是Spring处理WEB层请求的一个模块/组件,Spring MVC的基石是Servlet
3.Spring的核心是IOC和AOP,IOC提供了依赖注入的容器,AOP解决了面向切面编程
4.Spring Boot是为了简化开发,推出的封神框架(约定优于配置【简称COC】,简化了Spring项目的配置流程),SpringBoot包含很多组件/框架,Spring就是最核心的内容之一,也包含Spring MVC
5.Spring家族,有众多衍生框架和组件例如boot、security、jpa等,他们的基础都是Spring
如何理解:约定优于(大于)配置
1、约定优于配置(Convention over Configuration/COC),又称按约定编程,是一种软件设计规范,本质上是对系统、类库或框架中一些东西假定一个大众化合理的默认值(缺省值)
2、例如在模型中存在一个名为User的类,那么对应到数据库会存在一个名为user的表,只有在偏离这个约定时才需要做相关的配置(例如你想将表名命名为t_user等 非user时才需要写关于这个名字的配置)
3、简单来说就是假如你所期待的配置与约定的配置一致,那么就可以不做任何配置,约定不符合期待时,才需要对约定进行替换配置
4、约定优于配置理念【为什么要搞一个约定优于配置?】
约定其实就是一种规范,遵循了规范,那么就存在通用性,那么事情就会变得相对简单,程序员之间的通成本会降低,工作效率会提升,合作也会变得更加简单
5、避免理解成约定的优先级高于配置,其实配置的优先级是高于约定的,只是缺省时按照约定配置。
依赖管理和自动配置
自动版本仲裁,即如果程序员没有指定某个依赖jar的版本,则以父项目指定的版本为准。
如果要修改版本,有两种方法:
显示导入依赖,并配置version
在properties中指定mysql的key
<properties>
<mysql.version>5.1.49</mysql.version>
</properties>
c.为什么可以修改版本仲裁:根据依赖就近优先原则,以自己指定的为准