Spring 的依赖注入机制,可以在运行期为组件配置所需资源,而无需在编写组件代码时就加以指定,从而在相当程度上降低了组件之间的耦合。
Spring 通过依赖注入模式,将依赖关系从编码中脱离出来,从而大降低了组件这间的耦合,实现了组件真正意义上的即插即用。这也是Spring最具价值的特性这一。
面向接中编程。
诚然,即使没有Spring,实现面向接中的设计也不呆难。Spring对于面向接口设计的意义,在于它为面向接口编程提供了一个更加自然的平台。基于Spring开发,来自于Spring所提供的简单舒适的依赖注入实现。Spring使得接口的定义和使用不在像传统编码过程中那么繁琐。(传统编码过程中,引入一接口,往往也意味着同时要引入一个Factory类,也许还有一个额外的配置文件及其读写代码)
Spring 一个从实际项目开发经验中抽取的,可高度重用的应用框架.
IoC ,用白话来讲,就是由容器控制程序之间的关系,而非传达室统实现中,由程序代码直接操控。 这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外间容器,控制权的转移,是所谓反转。
所谓依赖注入,即组件这间的依赖关系由容器在运行期决定,形象的来说,即由容器动态的将某各依赖关系注入到组件这中。
依赖注入的目标并非为软件系统带来更多的功能,而是为了提升组件重用的概率,并为系统搭建一个灵活,可扩展的平台。
依赖注入机制减轻了组件之间的依赖关系,现时也大大提高了组件的可移植性,这意味着,组件得到重用的机会将会更多.
Spring 更大意义上充当了粘合剂和润滑剂的角色
Spring 的两个主要目标:一是让现有技术更易于使用,二是促使良好的编程习惯(或者称为最佳实践)
依赖:两个元素中一个定义发生改变则会引起另一个元素发生变化,则称这两个元素之间存在依赖关系.
系统变得复杂是因为系统的各部分关联程度太高,即各模块间“依赖”程度太高。
读到.xml文件:ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");
       //获得Printer实例
       Printer printer=(Printer)context.getBean("printer");
通过Spring的强大组装能力,我们在开发每个程序组建的时候,只要明确关联组件的接口定义,不需要关心具体实现,这也就是所谓的“面向接口编程”

Spring 杂谈.相关推荐

  1. Spring杂谈 | 什么是ObjectFactory?什么是ObjectProvider?

     在Spring的学习过程中,总是学的越多,不懂的越多.本来只是想将ApplicationContext的相关内容全部梳理一遍,结果发现涉及的东西越来越多,比如上篇文章中的ResolvableTyp ...

  2. 怒肝 8 个月源码,我成为了 Spring 开源贡献者

    作者 | cxuan 来源 | 程序员cxuan 责编| 王晓曼 前言 我最近一直在写Spring的文章,而且仅仅是 Spring FrameWork 的文章 ,从最开始的官网入门到现在源码的深度分析 ...

  3. 雷丰阳spring系列的笔记_怒肝8个月源码,我成为了 Spring 开源贡献者

    我最近一直在写Spring的文章,而且仅仅是Spring FrameWork的文章 ,从最开始的官网入门到现在源码的深度分析.主要就是三个系列 官网入门系列,Spring官网读书笔记,这一系列的文章是 ...

  4. 这篇文章,我们来谈一谈Spring中的属性注入

    本系列文章: 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 谈谈Spring中的对象跟Bean,你知道Spring怎么创 ...

  5. Spring官网阅读 | 总结篇

    接近用了4个多月的时间,完成了整个<Spring官网阅读>系列的文章,本文主要对本系列所有的文章做一个总结,同时也将所有的目录汇总成一篇文章方便各位读者来阅读. 下面这张图是我整个的写作大 ...

  6. 面试必杀技,讲一讲Spring中的循环依赖

    本系列文章: 听说你还没学Spring就被源码编译劝退了?30+张图带你玩转Spring编译 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configu ...

  7. 谈谈Spring中的对象跟Bean,你知道Spring怎么创建对象的吗?

    本系列文章: 读源码,我们可以从第一行读起 你知道Spring是怎么解析配置类的吗? 配置类为什么要添加@Configuration注解? 推荐阅读: Spring官网阅读 | 总结篇 Spring杂 ...

  8. 学习 Java 的历程和体会『写给新手看,欢迎老司机批评和建议』

    转载出处:https://blog.csdn.net/lw_power/article/details/52502698#commentBox Java 基础只能说熟悉,还达不到熟练,更谈不上精通.框 ...

  9. iteye上总结的编程精华资源

    原文: http://www.iteye.com/magazines/130 博客是记录学习历程.分享经验的最佳平台,多年以来,各路技术大牛在ITeye网站上产生了大量优质的技术文章,并将系列文章集结 ...

最新文章

  1. mssql 数据库的备份与恢复
  2. 从注册流程 分析如何安全退出多个Activity 多种方式(附DEMO)
  3. Sql获取表信息(包括结构及字段说明)
  4. 关于使用 ./ 执行sh文件报错-bash: ./startup.sh: /bin/sh^M: bad interpreter: No such file or directory
  5. 编程中的移位运算符简单解释
  6. hdu4521 小明系列的问题——小明序列(LIS变种 (段树+单点更新解决方案))
  7. Python实战从入门到精通第十四讲——定义有默认参数的函数
  8. 小米推出物联网软件平台Xiaomi Vela;库克被指隐瞒iPhone中国需求下滑;Ubuntu Touch新版发布|极客头条
  9. android自动化测试--appium运行的坑问题及解决方法
  10. 不确定单机械臂的自适应反步控制建模与仿真
  11. HUAWEI 机试题:统计射击比赛成绩
  12. showdialog 尝试读取或写入受保护的内存_超频内存比超频CPU收益更大!影驰HOF OC Lab皑钻DDR4-4400评测...
  13. 【LeetCode】每日一题——保持城市天际线
  14. HEVC编码块CU递归划分
  15. no module named pygame
  16. 安卓机器人做图软件_绘画机器人andy下载-美图秀秀绘画机器人下载v7.0.0.0 安卓版-西西软件下载...
  17. 如何卸载计算机强行安装游戏,如何卸载和重新安装《炉石传说》
  18. 什么是乘风人脸通行考勤平台
  19. 昨夜MSN上偶遇伊人
  20. 高通再度回归,然而华为、阿里已先行一步,外媒:来不及了

热门文章

  1. STL常用的遍历算法
  2. linux中怎样获得进程描述符,linux进程学习-进程描述符,控制块
  3. 1.进程间的关系:终端,网络设备
  4. Linux RedHat下安装eclipse-standard-kepler-SR1-linux-gtk.tar.gz
  5. 数据表从一个表空间中移动到另一个表空间中
  6. SQL按照年月员工状态统计出勤情况
  7. 处理字符串_1_生成自增值
  8. Scikit-learn 数据预处理之最大绝对值MaxAbsScaler
  9. lisp求面与面的差集_AcGeVector3d是点阵的集合,通过等分点的差集得到。 新的点可以通过点与点阵相差得......
  10. 满足 Google Play 目标 API 等级 (targetSdkLevel) 的要求