关于Container容器以及IoC注入机制的认识
container 容器的概念:
1 container 是一个Java 所编写的程序,用于对象之间之间管理对象关系。
主要的java EE 容器如下:
Java容器类包含List、ArrayList、Vector及map、HashTable、HashMap、Hashset等。
ArrayList和HashMap是异步的,Vector和Hashtable是同步的,所以Vector和Hashtable是线程安全的,
而ArrayList和HashMap并不是线程安全的。因为同步需要花费机器时间,所以Vector和Hashtable的执行效率要低于 ArrayList和HashMap。
主要的接口以及容器如下:
├Hashtable
├TreeMap
└IdentityHashMap
Container 容器的注入:
首先来了解以下Java IoC的注入机制:
IoC 是什么?
1 ) 在面向对象的程序设计当中,它的底层都是由N个对象构成的,各个对象之间通过相互合作,最终实现系统地业务逻辑 。 长此以往,对象之间的耦合度必然会随着时间的推移急速增加,因此为了降低对象之间耦合度过高的问题,提出了借助于“第三方”实现具有依赖
关系的对象之间的解耦。从而降低了系统之间,对象之间的耦合度。使得程序在后期调试和修改方面更加的便捷和方便。
IoC容器拿掉之后,对象之间没有耦合关系。 因此对于系统的开发和调试具有很大的用处。
3.IOC也叫依赖注入(DI)
IOC是控制反转,那么到底是“哪些方面的控制被反转了呢?”,经过详细地分析和论证后,得出了答案:“获得依赖对象的过程被反转了”。控制被反转之后,获得依赖对象的过程由自身管理变为了由IOC容器主动注
入。于是,“控制反转”被取了一个更合适的名字叫做“依赖注入(Dependency Injection)”。所谓依赖注入,就是由IOC容器在运行期间,动态地将某种依赖关系注入到对象之中。
感想:
java 的IoC注入机制相信在以后的发展中将会更加成熟,对象与对象之间的耦合度也将得到显著的降低。同时java 容器的发展也将会得到进一步的开发和进步。
关于Container容器以及IoC注入机制的认识的更多相关文章
- 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现[转]
原文:http://www.cnblogs.com/leoo2sk/archive/2008/06/19/1225223.html 我们设计的分层架构,层与层之间应该是松散耦合的.因为是单向单一调用, ...
- IOC容器的依赖注入
1.依赖注入发生的时间 当Spring IoC容器完成了Bean定义资源的定位.载入和解析注册以后,IoC容器中已经管理类Bean定义的相关数据,但是此时IoC容器还没有对所管理的Bean进行依赖注入 ...
- springboot成神之——ioc容器(依赖注入)
springboot成神之--ioc容器(依赖注入) spring的ioc功能 文件目录结构 lang Chinese English GreetingService MyRepository MyC ...
- ASP.NET中IOC容器Autofac(依赖注入DI 控制反转IOC)
IOC的一个重点是在程序运行中,动态的向某个对象提供它所需要的其他对象.这一点是通过DI来实现的.Autofac则是比较流行的一款IOC容器. IoC和DI有什么关系呢?其实它们是同一个概念的不同角度 ...
- .net core 注入机制与Autofac
本来是要先出注入机制再出 管道 的,哈哈哈……就是不按计划来…… 这里扯扯题外话:为什么要注入(DI,dependency-injection),而不用 new 对象? 可能我们都很清楚,new 对象 ...
- 使用JAVA实现的一个简单IOC注入实例
https://blog.csdn.net/echoshinian100/article/details/77977823 欲登高而望远,勿筑台于流沙 RSS订阅 原 使用JAVA实现的一个简单IOC ...
- 【转载】C#中可使用Unity容器实现属性注入
简介 Unity :Unity是微软团队开发的一个轻量级,可扩展的依赖注入容器,为松散耦合应用程序提供了很好的解决方案,支持构造器注入,属性注入,方法注入. 控制反转:(Inversion of Co ...
- Spring Ioc工作机制 初步
Spring IoC工作原理 Spring 启动时读取应用程序提供的Bean配置信息,并在Spring容器中生成一份相应的Bean配置注册表,然后根据这张注册表实例化Bean,装配好Bean之间的依赖 ...
- Spring第四天,BeanPostProcessor源码分析,彻底搞懂IOC注入及注解优先级问题!
随机推荐
- Linux引导过程和服务过程
目录 一.Linux操作系统引导过程 1.1.开机自检 1.2.MBR引导 1.3.GRUB菜单 1.4.加载Linux内核 1.5.init进程初始化 二.系统初始化进程 2.1.init进程 2. ...
- IllegalArgumentException occurred while calling setter for property
参考https://blog.csdn.net/qq_41192690/article/details/80659427 主码 是 integer类型的 就不要在写成这个样子了 把type=" ...
- 模拟退火 Simulated annealing
模拟退火 Simulated annealing 看看有空把图片完善一下好了 模拟退火算法的一些背景 既然要说模拟退火算法,就应该说一下模拟退火算法的背景,模拟退火算法是局部搜索算法的一种扩展,该算法 ...
- 数字化转型:敏捷和DevOps如何降低风险,提高速度
进行数字化转型就意味着团队需要应对经常发生冲突的挑战--例如,要应对在复杂的相互依赖环境中快速变化的需求.对软件开发人员来说,这是一个熟悉的困境. 如果使用传统的瀑布方法来应对这些挑战,就会发现,在线 ...
- 轻松让你的nginx服务器支持HTTP2协议
目录 简介 HTTP1.1和HTTP2 安装最新的nginx 开启HTTP2支持 添加SSL支持 修改加密算法 Diffie–Hellman对消息进行加密 重定向所有的HTTP请求到HTTPS 启动n ...
- [转]C# 互操作性入门系列(四):在C# 中调用COM组件
传送门 C#互操作系列文章: C# 互操作性入门系列(一):C#中互操作性介绍 C# 互操作性入门系列(二):使用平台调用调用Win32 函数 C# 互操作性入门系列(三):平台调用中的数据封送处理 ...
- 【springboot】自动装配原理
摘自:https://mp.weixin.qq.com/s/ZxY_AiJ1m3z1kH6juh2XHw 前言 Spring翻译为中文是"春天",的确,在某段时间内,它给Java开 ...
- java 学习推荐
1.书籍推荐 Java基础:<Java核心技术:卷1基础知识>.<Java编程思想>.<Effective Java> Linux:<鸟哥的Linux私房菜: ...
- 徒手撸一个简单的RPC框架
来源:https://juejin.im/post/5c4481a4f265da613438aec3 之前在牛逼哄哄的 RPC 框架,底层到底什么原理得知了RPC(远程过程调用)简单来说就是调用远程的 ...
- python turtle的使用
turtle.pendown() # 放下画笔 turtle.penup() # 抬起画笔 turtle.pensize(int) # 设置画笔宽度,值为整数型 turtle.forward(f ...