Spring 基础一
前言
总是会听到别人问Spring是啥? Spring Framework Spring boot Spirng clound 有啥区别?
Spring 是一个技术生态圈,而 Spring Framework/Spring boot ....构建出Spring生态圈,Spring Framework就是整个Spring体系的基石,spring framework 提供了全面的模型配置,使开发者专注于业务而非配置与环境,而通过Spring boot 可以容易创建应用程序,并且可以运行.而Spring clound 可以理解为让多个Spring 应用协同工作.
Spring 应用体验
按照官网指导,直接在线创建springboot项目
直接通过官网创建springboot 项目,然后下载创建好的项目.当然也可以通过Intellij Idea 直接创建,效果是一样.
用Intellij 打开项目,等编译完成后,编写一个controller 进行测试,启动项目:
可以看见项目启动的整个过程,从创建项目到运行项目基本不会花多久时间,让开发者更加注重业务代码的编写而不是项目的各种配置与运行环境的处理.
IOC
-
什么是IOC?
IOC(Inversion Of Control),首先得知道IOC是什么?官网上有很明确的解释:
大致意思是我们把创建和管理bean的过程交给第三方(Spring IoC Container), 第三方负责创建,配置和管理,而在我们使用的时候直接通过注入的方式或许需要的bean,这样就实现了控制反转.
上面提到的两个关键点:容器与注入.
我们在项目启动的时候将需要使用的bean加载到容器,在我们需要使用这些bean的时候通过注入获取.
为什么要通过这样的方式来创建和使用bean?new一个对象不香么?可以想象一下,最初没有IOC是怎样做的,当一个项目很庞大的时候,每当要使用一个bean的时候我们就会创建一个,久而久之,项目里面的依赖变得很多,引用关系也变得很复杂,最终在开发和维护反面变得举步维艰,IOC的出现就解决了这样尴尬的局面,我们不用管理bean的创建,我们使用的时候注入进去就够了,这样在开发和维护方便就变得极其简单. -
怎样做到的?
大致了解到IOC是将所有的实体放在一个容器中,使用的时候取出来就行,Spring 容器又是什么?
继续在官网上找答案:
说白了容器就是ApplicationContext一个实例化对象,负责实例化,配置以及装载一个Bean,如何实例化一个Bean?
官网给出4种实例化Bean的方式,每一种都有详细的解释. -
创建实体
按照官网的指导,我们来通过前三种方式创建实体