关于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注入及注解优先级问题!
随机推荐
- nagios介绍和安装
官方support文献: https://support.nagios.com/kb/ 1.Nagios的监控模式: 主动式检查:NCPA.NRPE nagios安装后默认使用主动检查方式,远程执行代 ...
- Semi-automation Script Based on Sleep
The following script auto login to server 49, send 2 commands and exit from the server. Create a aut ...
- Git-09-常用命令
git常用命令 一般来说,日常使用只要记住下图6个命令,就可以了.但是熟练使用,恐怕要记住60-100个命令 下面是我整理的常用 Git 命令清单.几个专用名词的译名如下. Workspace:工作区 ...
- linux 常用的更新命令
apt update apt install g++ apt install build_essential
- kettle 乱码问题处理方案
一.同下图加上 "-Dfile.encoding=UTF-8" ,两都都加没有试过,可先加一处,如果没有处理到问题,再加另外一处
- shiro登录源码
//1.获取SecurityManager工厂,此处使用Ini配置文件初始化SecurityManager Factory<org.apache.shiro.mgt.SecurityManage ...
- Dockerfile 实践及梳理
Dockerfile 是一个文本文件,我们可以通过组合一条条的指令 (Instruction),来构建满足我们需求的 Docker 镜像 文档 Best practices for writing D ...
- 30 道 Vue 面试题,内含详细讲解(涵盖入门到精通,自测 Vue 掌握程度)
前言 本文以前端面试官的角度出发,对 Vue 框架中一些重要的特性.框架的原理以问题的形式进行整理汇总,意在帮助作者及读者自测下 Vue 掌握的程度.本文章节结构以从易到难进行组织,建议读者按章节顺序 ...
- C# - 习题01_写出程序的输出结果a.Fun2(b)、b.Fun2(a)
时间:2017-08-23 整理:byzqy 题目:请写出下列程式的结果: 文件:A.cs 1 using System; 2 3 namespace InterView 4 { 5 public c ...
- 痞子衡嵌入式:MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家介绍的是MCUXpresso IDE下SDK工程在Build配置上与IAR,MDK差异. 恩智浦 SW 团队每个季度都会公布 SDK.Tool ...