什么是容器呢?
如果你想要⼀个⼿机,好这时候spring就给你⼀个⼿机.你想要使⽤的对象,spring就会给你,但是现在我们就会问那spring给的对象来⾃于哪⾥呢?
spring要负责的⼯作很多,那么多对象的创建管理都是它在负责,那肯定会有⼀个地⽅是负责造对象的.造⼿机的叫⼯⼚,⽽spring造对象的不叫所谓的⼯⼚,如果叫⼯⼚有点low,所以给出⼀个⾼⼤尚的名称--容器.容器是spring框架实现的功能的核⼼.(spring的核⼼是容器,这没有错,但是容器并不唯⼀,框架本⾝提供了多个容器的实现).因为没有对象,你⽆法实现你想要的任何功能.
如果认为造对象是容器的全部功能那你就⼤错特错了,因为它⽐你想象的要强得多,它负责对象整个的⽣命周期的管理包括:创建,装配,销毁。
IOC容器
容器中经常会⽤到⼀个术语就是IOC容器.全称:Inversion of Control.这是⼀种设计思想
那什么是IOC呢?
在java开发中,将⾃⼰设计好的对象交给容器控制,⽽⾮在对象的内部控制.那么是谁控制谁呢?控制的是什么?为何是反转?哪些东西发⽣了反转?
之前我们所学的对象是这样⽣成的:我们在对象的内部直接new来创建对象,是通过程序去主动创建对象.⽽IOC就不⼀样了,它有⼀个专门的容器来创建对象,通俗的讲就是它想创建什么对象,它说了算.⽽现在谁控制谁这个问题当然就简单了,当然就是IOC控制对象.
控制的是什么呢?当然是外部资源⼀获取咯!(外部资源是⼀个⼴泛的定义:不只是对象,如⽂件啊,图⽚啊什么的这些)
为什么要中反转呢?只是Inversion的翻译吗?当然不是的.</