難得糊塗,吃虧是福。

Writer      :BYSocket(泥沙砖瓦浆木匠)

一、IOC的概念

IOC(Inverse of Control )控制反转,原本自身控制自身的权利转移到了其他身上。IOC是一个“协议”,或者理论。需要涉及到代码解耦设计模式等一些问题考量。

其中包含了两层内容:控制 + 反转。意思明了


后来,IOC由于是种理论需要实战 — 就出现了依赖注入

DI(Dependency Injection)依赖注入即调用类让某一接口的实现类的依赖关系有第三方(容器或者协作类)注入,以移除调用类对某一接口实现类的依赖。这里就是将实战的武功秘籍传授了。实现类与类的依赖关系。

IOC容器还提供了Bean实例缓存、生命周期管理、Bean实例代理、事件发布、资源装载等高级服务。

二、注入的方式

依赖注入有三种注入方式:

1、通过构造函数注入

2、通过属性注入(常用方式)

3、接口注入


三、如何实现其注入呢?

那就涉及到相关的知识点,比如反射类装载器 和 反射机制)、资源访问机制

a. 反射Reflect


b. 资源装载器

资源,考虑资源的来源。可能是本地的File(jar、zip等),网络的URLFTP等)。Spring提供的Resource接口比JDK访问资源API更强大个好用。其实就是一种VFS的特例吧。

1. 读取配置文件时,Ant风格资源地址支持3中匹配符:

?:匹配一个字符

*:任意一个字符

**:匹配多层路径

Resource 与 ResourceLoader UML图:

image

BeanFactory类继承体系:

image

ApplicationContext主要实现类:

a. ClassPathXmlApplicationContext 从类路径加载配置文件

b. FileSystemXmlApplicationContext 从文件系统加载配置文件

Spring用于启动WebApplicationContext的Servlet和Web容器监听器

org.springframework.web.servlet.DispatcherServlet
org.springframework.web.context.ContextLoaderListener

待续。。。

"万千世界,飘过的我是竹叶般..."

博主:BYSocket,博主的\'编程之美\'群(365234583
自言自语:
写写博,编编书,听听歌,健健身,练练字,写写文。医科大信息本科生,开源作者,半吊子书法爱好者,半吊子创业爱好者,半吊子...... 我在试错,我不知道以后会干什么,但我享受现在试错给我的惊讶的生活~

如果你喜欢,可以及时得到博客文章的推送或者留言给我,扫下左边我的公众号

这是我喜欢的一些话:
“路漫漫其修远兮,吾将上下而求索”
任何事情,方向对了,千方百计地去做,做任何事情朝这个方向,物理上的正功也有,负功也有,像溪水向下流碰到石头就转弯,肯定会有小成就。还有最主要的开心~





代码牛平台,让技术学习变的更高效、更简单 !
如果你的技术脆弱得需要提升,向有经验的人学习吧 !
如果你技术足够牛逼,有偿帮助那些需要技术提高的人吧 !


大牛或即将成为大牛的小白,欢迎加入\'代码牛JavaEE技术交流\'群(522369560

来找我吧,扫下左边二维码下载 APP,填上我的邀请码:CaEcmQ ,成为大牛吧~