引用java技术驿站博文: https://www.cmsblogs.com/article/1391375268060467200
学习代码git 地址: https://github.com/wei198621/spring_sike
本节目录: package com.tiza.leo.springsike_apiservice01.bean;
目录:
43片内容,写完以后一起更新,
引言
在一开始学习 Spring 的时候,我们就接触 IoC 了,作为 Spring 第一个最核心的概念,我们在解读它源码之前一定需要对其有深入的认识,本篇为【死磕 Spring】系列博客的第一篇博文,主要介绍 IoC 基本概念和各个组件。
IOC 理论
IoC 全称为 Inversion of Control,翻译为 “控制反转”,它还有一个别名为 DI(Dependency Injection),即依赖注入。
如何理解“控制反转”好呢?理解好它的关键在于我们需要回答如下四个问题:
谁控制谁
控制什么
为何是反转
哪些方面反转了
在回答这四个问题之前,我们先看 IOC 的定义:
所谓 IOC ,就是由 Spring IOC 容器来负责对象的生命周期和对象之间的关系
上面这句话是整个 IoC 理论的核心。如何来理解这句话?我们引用一个例子来走阐述(看完该例子上面四个问题也就不是问题了)。
以找女朋友为例(对于程序猿来说这个值得探究的问题)。一般情况下我们是如何来找女朋友的呢?首先我们需要根据自己的需求(漂亮、身材好、性格好)找一个妹子,然后到处打听她的兴趣爱好、微信、电话号码,然后各种投其所好送其所要,最后追到手。如下:
/**
* 年轻小伙子
*/
public class YoungMan {
private BeautifulGirl beautifulGirl;
YoungMan(){
// 可能你比较牛逼,指腹为婚
// beautifulGirl = new BeautifulGirl();
}
public void setBeautifulGirl(BeautifulGirl beautifulGirl) {
this.beautifulGirl = beautifulGirl;
}
public static