概念:
IOC(Inversion of Control)控制反转,本来是有应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器,Spring的IOC容器主要使用DI方式实现的,不需要主动产找,对象的查找、定位和创建全部由容器管理。
理解:
通俗一点讲就是“不创建对象”。以前我们要调用一个对象的方法,首先要new一个对象,但是用IO...
分类:
编程语言 时间:
2015-07-28 16:03:59
阅读次数:
119
IOC的基本概念是:不创建对象,但是描述创建它们的方式。在代码中不直接与对象和服务连接,但在配置文件中描述哪一个组件需要哪一项服务。容器负责将这些联系在一起。就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。这也就是所谓“控制反转”的概念所在:控制权由应用代码中转到了外部容器,...
分类:
其他好文 时间:
2015-07-28 12:33:29
阅读次数:
86
通过注解配置Bean特定组件包括:
@Component: 基本注解, 标识了一个受 Spring 管理的组件
@Respository: 标识持久层组件
@Service: 标识服务层(业务层)组件
@Controller: 标识表现层组件
上面的组件可以混用,因为IOC容器并无法区分当前类是否为业务、持久、还是表现层。对于扫描到的组件, Spring 有默认的命名策略: 使用非限定类名...
分类:
编程语言 时间:
2015-07-27 19:04:06
阅读次数:
209
Spring IOC源码详解之容器依赖注入
上一篇博客中介绍了IOC容器的初始化,通过源码分析大致了解了IOC容器初始化的一些知识,先简单回顾下上篇的内容
载入bean定义文件的过程,这个过程是通过BeanDefinitionReader来完成的,其中通过 loadBeanDefinition()来对定义文件进行解析和根据Spring定义的bean规则进行处理 - 事实...
分类:
编程语言 时间:
2015-07-27 09:28:15
阅读次数:
282
IOC容器装配Bean(注解方式)1.使用注解方式进行Bean注册 xml方式:spring2.5版本提供一组注解,完成Bean注册 *@Component描述Spring框架中Bean导入jar和xml方式开发是相同的第一步编写Class,在声明上添加@Component/** * 使用Sprin...
分类:
其他好文 时间:
2015-07-24 23:55:21
阅读次数:
116
IOC容器装配Bean(xml方式)1.Spring提供配置Bean三种实例化方式 1)使用类构造器实例化(默认无参数) 2)使用静态工厂方法实例化(简单工厂模式)//下面这段配置的含义:调用Bean2Factory的getBean2方法得到bean2 3)使用实例工厂方法实例化(工厂方法模式)//...
分类:
其他好文 时间:
2015-07-24 23:52:51
阅读次数:
193
看到一篇翻译很好的博文,在这分享下1: 技术是你获取解决方案的方法,而不是解决方案本身 我们可以得意忘形地使用最新的JavaScript框架-嗯哼,Angular-IoC 容器,编程语言,甚至操作系统。但作为一个程序员,所有这些东西并不是问题真正的解决方案,相反,它们只是帮助我们解决问题的简单工具....
分类:
其他好文 时间:
2015-07-24 12:34:56
阅读次数:
115
Bean的作用范围有几种:
singleton 在每个Spring Ioc容器中一个Bean定义只有一个对象实例。默认情况下会在容器启动时初始化Bean,但我们可以指定Bean节点
的lazy-init="true"来延迟初始化Bean,这样只有第一次获取Bean才会初始化Bean。如:
如果想对所有Bean都应用延迟初始化,可以在根节点beans设置default-lazy-...
分类:
编程语言 时间:
2015-07-23 12:06:29
阅读次数:
156
引言Pirsm框架是由微软P & P小组设计的,用于构建组合式的WPF企业级应用,支持两个IOC容器,分别为Unity和MEF.官方地址为http://compositewpf.codeplex.com/,在上面可以有最新的源码和Demo,其中多数Demo都是用Unity容器构建的,而本人比较喜欢M...
分类:
其他好文 时间:
2015-07-22 22:16:00
阅读次数:
240
Bean的自动装配Spring IOC 容器可以自动装配 Bean. 需要做的仅仅是在 的 autowire 属性里指定自动装配的模式
有以下几种自动装配的类型:
byType(根据类型自动装配): 若 IOC 容器中有多个与目标 Bean 类型一致的 Bean. 在这种情况下, Spring
将无法判定哪个 Bean 最合适该属性, 所以不能执行自动装配.
byName(根据名称自动装配):...
分类:
编程语言 时间:
2015-07-22 18:46:57
阅读次数:
250