Spring boot学习之旅,为更好督促自己学习以记之,仅供参考。

spring容器

程序启动的时候会创建spring容器,扫描给spring容器一个清单,比如:@Controller, @Bean, @Data, Configurantion等,清单中列出了需要创建的对象以及对象依赖关系,spring容器会创建和组装好清单中的对象,当程序中需要使用的时候,可以到容器中查找获取,然后直接使用。

IOC(控制反转)和 DI(依赖注入)

熟悉java的程序员都知道,通常创建对象都有控制着即使用者完成,而使用Spring后交由Spring容器来完成,也就是控制反转。IOC是是面相对象编程中的一种设计原则,主要是为了降低系统代码的耦合度,让系统利于维护和扩展。

当需要一个对象A时,到Spring容器查找,A对象可能依赖其他对象B、C、D, Spring容器会将其他对象从清单中查找一并注入,称为依赖注入。

控制反转和依赖注入应用的都是Spring容器功能,需要编写时注释,依赖注入三种方式:

1. @Autowired注解——由spring提供

2. @Resource注解——由JSR-250提供

3. @Inject注解——由JSR-330提供

总结

  1. IOC控制反转,是一种设计理念,将对象创建和组装的主动控制权利交给了spring容器去做,控制的动作被反转了,降低了系统的耦合度,利于系统维护和扩展,主要就是指需要使用的对象的组装控制权被反转了,之前是自己要做的,现在交给spring容器做了
  2. DI依赖注入,表示spring容器中创建对象时给其设置依赖对象的方式,通过某些注入方式可以让系统更灵活。
  3. spring容器:主要负责容器中对象的创建、组装、对象查找、对象生命周期的管理等等操作。

Spring容器,控制反转,依赖注入相关推荐

  1. Spring 的控制反转/依赖注入

    第一章 Spring 的控制反转/依赖注入 回顾 增删改查. 课前测: 本章内容 spring:春天 IOC:将创建对象的权力交给 spring 核心容器去控制.工厂模式 BeanFactory: 懒 ...

  2. 那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程...

    那些年,空气中仿佛还能闻到汉唐盛世的余韵,因此你决不允许自己的脸上有油光,时刻保持活力.然而,你一定曾为这些"高深术语"感到过困扰--依赖倒置•控制反转•依赖注入•面向接口编程.也 ...

  3. Spring框架学习笔记(1) ---[spring框架概念 , 初步上手使用Spring , 控制反转 依赖注入初步理解 ]

    spring官网 -->spring官网 spring5.3.12–>spring-framework 在线文档 --> Spring 5.3.12 文章目录 1.Spring概论 ...

  4. 控制反转---依赖注入理解

    在学习Spring的时候,意外找到这个控制反转(IoC)和面向切面(AOP)的容器框架之前,我们先来看一下什么是控制反转(IoC). 控制反转(Ioc)和依赖注入(DI)刚听到感到很难理解,平时也程序 ...

  5. 控制反转/依赖注入概念

    控制反转概念 控制反转是影响广泛的设计模式,其主要目的就是为了管理对象之间的关系,为对象之间解除耦合,把对象生命周期的管理和关系的管理这些和对象个体无关的公共任务交给公共容器处理. 控制反转有如下好处 ...

  6. 设计模式——控制反转依赖注入

    一.控制反转: 从简单的代码示例入手: /// <summary>/// 邮件服务类/// </summary>public class EmailService{public ...

  7. 【C#|.NET】从控制反转(依赖注入)想到事件注入 (非AOP)

    前文 事件注入的想法是由依赖注入所联想到 依赖注入不算什么吸引人的话题 本篇就不详说了 不过有闲暇时间的机会不妨按照自己的兴趣去摸索.研究一些东西,也是一种乐子. 在抓虫系列里简单的描述一下依赖注入在 ...

  8. 那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程【转】...

    那些年,空气中仿佛还能闻到汉唐盛世的余韵,因此你决不允许自己的脸上有油光,时刻保持活力.然而,你一定曾为这些"高深术语"感到过困扰.也许时至今日,你仍对它们一知半解.不过就在今天, ...

  9. 高深术语——依赖倒置•控制反转•依赖注入•面向接口编程

    今天,我将带领你以一种全新的高清视角进入奇妙的编程世界,领略涵泳在这些"高深术语"中的活泼泼的地气,以及翩跹于青萍之末的云水禅心. 高聚合·低耦合 简短:管理好自己(内聚),但是有 ...

  10. 【转】那些年搞不懂的高深术语——依赖倒置•控制反转•依赖注入•面向接口编程

    作者:在好 链接:https://www.zhihu.com/question/31021366/answer/102239756 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

最新文章

  1. OO学习之二——面向对象分析(OOD)的介绍
  2. 经典的printk 写法
  3. Express请求处理-构建模块化路由
  4. php $conf,$conf
  5. python 列联表自动拆分_python自动化办公:实现按照一列内容拆分excel
  6. 2017年上半年全国高等学校安徽考区计算机水平考试,教务处关于2017年上半年全国高等学校(安徽考区)计算机水平考试报名的通知-教务处...
  7. 技术分享|集成开放平台使用Consul Watch机制实现配置热更新
  8. 高等数学下-赵立军-北京大学出版社-题解-练习9.1
  9. 给DNS划重点:分析ISC BIND必知必会
  10. [转]ubuntu apt错误解决办法
  11. dpdk开发快速入门
  12. python爬取内容剔除nbsp_python 爬虫爬取内容时, \xa0 、 \u3000 的含义与处理方法...
  13. 朋友圈发送照片泄露位置?微信:P 完再发!
  14. 学习Altas 笔记[js调用重载的方法出错,如何处理]
  15. top 命令按内存和 cpu 排序
  16. 短除法(求最大公约数)
  17. cygwin下使用apt-cyg安装新软件
  18. linux vsftpd共享位置,文件共享服务之vsftpd
  19. 【渝粤教育】国家开放大学2018年春季 8639-21T食品营养与健康 参考试题
  20. 论文【Learning to Localize Sound Source in Visual Scenes】soundnet的复现

热门文章

  1. thinkPhp 3.1.3的验证码无法显示的问题
  2. 使用Task简化Silverlight调用Wcf
  3. vue路由参数改变,组件数据没重新更新问题
  4. 算法分析与设计「一」枚举
  5. CNN经典模型:VGGNet
  6. OpenCV3学习(4.2)——图像常用滤波方法(方框、均值、高斯、中值、双边)
  7. TS Decorator
  8. 7-1 顶点的度 (15 分)
  9. PTA6、输出10个不重复的英文字母 (10 分)
  10. group by 后面加条件_无论炖什么肉,只要加这“两种”调料,肉质鲜嫩入味,越炖越香...