spring说白了就是解决企业应用开发的复杂性的!
spring理念: 使现有的技术更加容易使用,本身是个大杂烩,整合了现有的技术框架!
优点:
- spring是一个开源的免费的框架
- spring是一个轻量级的,非入侵式的框架 !(轻量级:说明他本身很小。非入侵式:就是引入了spring,不会改变你原来代码的任何情况,反而你用了它会更加简单)
- 控制反转(IOC)、面向切面编程(AOP)
- 支持事务的处理
- 对框架整合的支持(即几乎市面上所有的java框架它都能整合进去,所以说spring框架是一个大杂烩)
总结一句话:spring就是一个轻量级的控制反转和面向切面编程的框架!
可能有些人还是不太理解字面的意思,那我就用白话来说明一下:
spring是一个框架,也就是一个半成品软件,再说白了就是一个jar包,它里面整合了其他的技术框架,所以我们在开发过程中引入这个spring的依赖,你就可以很方便的使用里面的一些技术,简单来说就是你可以直接使用一些类和方法,如果在以前的话,你这些类和方法可能就需要引入其他的依赖或者jar包了,那现在你只需要引入spring的依赖就可以直接搞定了,所以我们在spring这个框架(半成品软件)的基础上继续去做开发,是不是方便了许多
现代化的java开发!说白了就是基于spring的开发!
springboot:一个快速开发的脚手架,springboot是构建所有基于spring的应用程序的起点,springboot旨在通过最少的spring前期配置使你尽快启动并运行
springcloud:是基于springboot实现的
为什么要说这些呢?因为现在大多数公司的开发都是在使用springboot进行快速开发,学习springboot的前提是需要完全掌握spring和springmvc的
spring在发展了这么多年有一个弊端,那就是它违背了之前的理念,就是我们之前说的它是使现有的技术更加容易使用,所以弊端就是配置十分繁琐,人称“配置地狱!”