![10186693-a4a67ed4f69a6ff1.png](https://i-blog.csdnimg.cn/blog_migrate/9fea6b180e69938e9094c5094e59cc7b.webp?x-image-process=image/format,png)
IOC
![10186693-957abc34761309d5.png](https://i-blog.csdnimg.cn/blog_migrate/12e43d35df9094036c6851313ac84cc8.webp?x-image-process=image/format,png)
接口
![10186693-9e8b7c06efd9370d.png](https://i-blog.csdnimg.cn/blog_migrate/9c5bf43e41ffcd9c67809a4f3e438a0c.webp?x-image-process=image/format,png)
面向接口编程
![10186693-405eeeb5b642260a.png](https://i-blog.csdnimg.cn/blog_migrate/5482de700de4b9d99d18c4655aa78b86.webp?x-image-process=image/format,png)
例子
![10186693-a244172823798af5.png](https://i-blog.csdnimg.cn/blog_migrate/1c9598db4acd0a10724924ef14e86743.webp?x-image-process=image/format,png)
什么是IOC
![10186693-e6f69dbe6bdda38a.png](https://i-blog.csdnimg.cn/blog_migrate/48d2a675d1da6f47ceca9a972829004a.webp?x-image-process=image/format,png)
扩展理解
获得依赖对象的过程被反转了。
![10186693-051460c2ffbe5314.png](https://i-blog.csdnimg.cn/blog_migrate/24822c5c112cc7bac6d42be67e9ef170.webp?x-image-process=image/format,png)
IOC房屋中介
![10186693-a48e6410c320dd38.png](https://i-blog.csdnimg.cn/blog_migrate/f6ab4b65c0c4114ebbc9a7c51b2bc8b8.webp?x-image-process=image/format,png)
Spring Bean配置
![10186693-385e16986303e359.png](https://i-blog.csdnimg.cn/blog_migrate/ac9cf35dab3abce398c94635dd1edfc6.webp?x-image-process=image/format,png)
配置
![10186693-6b69bd4d1072504f.png](https://i-blog.csdnimg.cn/blog_migrate/8d00a8d13ad21535509edb38d212b22c.webp?x-image-process=image/format,png)
例子
![10186693-29281d1f9c5cde4f.png](https://i-blog.csdnimg.cn/blog_migrate/85fccc70484b626ea74e3604ae2cfc0b.webp?x-image-process=image/format,png)
有了IOC之后
![10186693-6e5eef6c9e44c47b.png](https://i-blog.csdnimg.cn/blog_migrate/65684583faec441ccbbd9b0350458f69.webp?x-image-process=image/format,png)
单元测试
![10186693-2d01bbc86b768460.png](https://i-blog.csdnimg.cn/blog_migrate/bf933bc191f77ef9e4956b2a8e9f738b.webp?x-image-process=image/format,png)
JUnit1
![10186693-3af6fa64c12ee4eb.png](https://i-blog.csdnimg.cn/blog_migrate/8d7a6462f0fd7871a19b0f5256dd7575.webp?x-image-process=image/format,png)
JUnit2
![10186693-c38c0d4d2fa19cb7.png](https://i-blog.csdnimg.cn/blog_migrate/d163dd7a421df3b89af9db82f4b2c7b0.webp?x-image-process=image/format,png)
Bean容器初始化
![10186693-6943eb6c73cefd55.png](https://i-blog.csdnimg.cn/blog_migrate/5b05a6acab9b8807f407e322f12a0fc2.webp?x-image-process=image/format,png)
Bean容器初始化2
![10186693-4dd3e81472096f04.png](https://i-blog.csdnimg.cn/blog_migrate/ed52ce2ac090dd9dd2ffdeb45655746b.webp?x-image-process=image/format,png)
Spring注入
![10186693-4821f52dba5f2517.png](https://i-blog.csdnimg.cn/blog_migrate/28b96965dc74f71d632f79fc4bdd20d8.webp?x-image-process=image/format,png)
设值注入
![10186693-c7b258e92055e0ce.png](https://i-blog.csdnimg.cn/blog_migrate/8b1e8a5970a118489dde0acfbbe37e24.webp?x-image-process=image/format,png)
构造注入
![10186693-0fc7909f8a6bf383.png](https://i-blog.csdnimg.cn/blog_migrate/595f754cf3f0245a094cd1a1e354b97e.webp?x-image-process=image/format,png)
spring-injection
![10186693-bb69b661c3dcd79f.png](https://i-blog.csdnimg.cn/blog_migrate/0e3b74485a66c170635edc82b2c18751.webp?x-image-process=image/format,png)
业务逻辑注入
![10186693-83eab80f0641673c.png](https://i-blog.csdnimg.cn/blog_migrate/1e1de7d750554b752f4657a6eac29792.webp?x-image-process=image/format,png)
JUnit