Spring两个核心解决思想方案解析

  • IOC (Inverstion Object Control)控制反转 / DI (Dependency Injected) 依赖注入
  • AOP(Aspect Oriented Program) 面向切面编程

IOC和DI:反转控制和依赖注入

其思想是把创建对象的工作交给Spring来完成.,应用了 IOC 之后, 则是容器主动地将资源推送给它所管理的组件, 组件所要做的仅是选择一种合适的方式来接受资源,反转资源获取的方向,这种行为也被称为查找的被动形式。

Spring 提供了两种类型的 IOC 容器实现
BeanFactory: IOC 容器的基本实现
ApplicationContext: 提供了更多的高级特性. 是 BeanFactory 的子接口

BeanFactory 是 Spring 框架的基础设施,面向 Spring 本身;ApplicationContext 面向使用 Spring 框架的开发者,几乎所有的应用场合都直接使用 Application而非底层的 BeanFactory

ApplicationContext的主要的实现类:

  • ClassPathXmlApplicationContext:从类路径下加载配置文件
  • FileSystemXmlApplicationContext:从文件系统中夹杂配置文件
  • WebApplicationContext:专门为Web应用准备的,它会从Web配置的根目录加载配置文件完成初始化工作,并且把当前初始化完成的工厂(上下文)的引用存放到ServletContext中。

ApplicationContext初始化上下文时会实例化所有的单例的Bean

IOC容器获取Bean对象流程

实例化Spring工厂(IOC容器)---- 在IOC容器读取配置文件和并创建要维护的单例的实体Bean,创建过程注入Bean的属性(DI)---- 获取Bean执行操作

AOP:面向切面编程

Spring框架核心思想相关推荐

  1. Spring的核心思想,总结得非常好!

    依赖注入是面型接口编程的一种体现,是Spring的核心思想.事实上依赖注入并不是什么高深的技术, 只是被Sping这么以包装就显得有些神秘. class Main {interface Languag ...

  2. 小马哥spring编程核心思想_Spring核心思想理解

    前言 在拉勾教育Java高薪训练营再次学习了spring,再次感叹spring的核心思想.强调一下,IOC和AOP是一个技术思想(理论),并不是spring提出的,spring在技术层次把这两个思想做 ...

  3. Spring三大核心思想

    spring三大核心思想分别是:控制反转IOC:依赖注入DI:面向切面AOP.接下来我将从是什么(what).怎么实现(how).为什么(why)来讲.只是帮助初学者理解,更具体的用法自己学习哦. 先 ...

  4. Spring三大核心思想之AOP(面向切面编程)

    Spring三大核心思想之AOP(面向切面编程) 学习Spring三大核心思想之AOP之前建议先学习:

  5. 小马哥spring编程核心思想_Spring源码高级笔记之——Spring核心思想

    Spring核心思想 注意:IOC和AOP不是spring提出的,在spring之前就已经存在,只不过更偏向于理论化,spring在技术层次把这两个思想做了非常好的实现(Java) 第1节loC 1. ...

  6. 如何能理解 Spring 框架的思想?

    Spring 简述 1.1 什么是 Spring ? Spring 是一个轻量级的开源的 JavaEE 框架,由作者 Rod Johnson 创建,兴起于 2003 年.目的是为了解决企业级开发的复杂 ...

  7. Spring框架核心之(一)Spring简介

                                                            Spring简介 一.什么是Spring Spring是一个轻量级开源框架,他是一个基于 ...

  8. 小马哥spring编程核心思想_求小马哥讲Spring栈核心编程思想 Spring IoC+Bean+Framework教程...

    这次搜集了下小马哥讲Spring栈核心编程思想 Spring IoC+Bean+Framework,最强Spring全面核心实战的视频教程,有需要的朋友可以自行下载学习. 课程简介: 小马哥出手的Sp ...

  9. Spring三大核心思想详解

    spring核心思想分三大类:控制反转(IOC),依赖注入(DI)和面向切面(AOP). 控制反转 通俗讲,控制权由应用代码中转到了外部容器,控制权的转移,是所谓反转.也就是说,正常我们都是新建对象, ...

最新文章

  1. hadoop、spark/storm等大数据相关视频资料汇总下载
  2. 国内最火的五款HTML5前端开发框架
  3. 利用GoogleEarth影像打造Skyline MPT案例(转载)
  4. java web start error_java web start——启动文件错误,没法启动指定应用程序这个问题如何解决?谢谢...
  5. .xib .plist .pch
  6. Spring boot - 使用redis实现session共享
  7. 新型冠状病毒肺炎国内分省分日期从1.16起的全部数据爬取与整理代码(附下载)
  8. 2021考研初试成绩多少分过线?
  9. 运营进阶:打造好文案的万能公式
  10. 税务计算机类考试题型,2020年税务师考试题型、计算器使用规定及考试难度
  11. usb声卡驱动_香蕉猴Monkeybanana Hapa系列USB麦克风 测评
  12. Django模板 render_to_string与render
  13. 华为Linux笔记本拆机,华为MateBook D怎么拆机?华为MateBook D拆机图文步骤详解
  14. 微商引流产品有哪些?做微商如何引流以及推广产品?
  15. 【恩智浦杯(飞思卡尔)全国大学生智能汽车竞赛】解读部分北科技术报告图像处理内容(点到为止)
  16. 解决GoPro Quik频繁自动登出的问题
  17. 【python】OpenCV—Blur, Threshold, Gradient, Morphology(2)
  18. CAD出图、标书装订、晒图、工程复印、彩色打印/复印
  19. Swift 语言的设计错误
  20. java cookie设置注意事项

热门文章

  1. icpc2018-焦作-E Resistors in Parallel-数论+大数
  2. 怎么做网线,网线水晶头接法和线序(图文详解)
  3. 互联网公司的中台实践:网易杭研的中台往事
  4. 如何防止form表单重复提交
  5. AE中的各种报错提示的原因和解决方案
  6. CGB2109-Day12-用户模块管理
  7. 俄勒冈大学计算机科学专业,俄勒冈大学计算机
  8. android的一些简单配置修改(2)
  9. 开发、运维、业务都说好的全栈云原生长这样
  10. Hander异步消息处理机制完全解析