一、理解IOC控制反转和DI依赖注入
IOC:就是将原本在程序中手动创建对象的权利,交给Spring框架管理。
DI:依赖注入,就是在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件。
IoC和DI的区别?
IOC:指将对象的创建权,反转到Spring容器。
DI:指Spring创建对象的过程中,将对象依赖的属性通过配置进行注入。
二、Spri...
分类:
编程语言 时间:
2016-05-12 23:02:50
阅读次数:
241
Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口。他们都可代表Spring容器,Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。
Bean是Spring管理的基本单位,在基于Spring的Java EE应用中,所有的组件都被当成Bean处理,...
分类:
编程语言 时间:
2016-05-12 22:20:18
阅读次数:
256
spring的控制反转(IOC)思想,对象实例不再是由调用者来创建,改为spring容器来创建。spring容器会负责控制程序之间的关系,不再由程序代码直接控制,控制权由应用的代码转向了外部容器,所谓控制反转。spring有两个ioc容器,这里我用的是ApplicationContext。
以一个类为例:
public class UserService
{
public void...
分类:
编程语言 时间:
2016-05-12 12:13:21
阅读次数:
123
The IoC container Spring 容器 属性注入 & 构造注入 Bean 实例的创建方式 p-namespace & c-namespace 集合属性的注入 作用域 延迟实例化 基于 Annotation 的配置 @Resoure & @Autowired 生命周期 depends- ...
分类:
编程语言 时间:
2016-05-10 20:50:40
阅读次数:
293
前言: spring容器以xml的形式注入bean,然后可以在类中获取,获取的形式主要有二种:第一种最简单--采用@Resource 或@Autowired关键字在加载spring文件时将bean注入到相应的类中;第二种方式是先用FileSystemXmlApplicationContext、Cla ...
分类:
编程语言 时间:
2016-05-09 18:35:04
阅读次数:
281
Spring的一个重要原理就是IOC(Inverse Of Control),即控制反转。IOC就是一种将组件依赖关系的创建和管理置于程序外部的技术,在Spring中Bean组件的实例化和依赖关系的管理控制都由Spring容器负责,对象与对象之间的关系可以简单的理解为对象之间的依赖关系:在 类 A 需要类 B 的一个实例来进行某些操作时,比如在类 A 的方法中需要调用类 B 的方法来完成功能,叫做...
分类:
编程语言 时间:
2016-05-07 06:50:58
阅读次数:
253
平常的java开发中,程序员在某个类中需要依赖其它类的方法,则通常是new一个依赖类再调用类实例的方法,这种开发存在的问题是new的类实例不好统一管理,spring提出了依赖注入的思想,即依赖类不由程序员实例化, 而是通过spring容器帮我们new指定实例并且将实例注入到需要该对象的类中。依赖注入 ...
分类:
编程语言 时间:
2016-05-06 00:08:12
阅读次数:
242
1.启动服务时通过spring容器的监听器(继承ContextLoaderListener 监听器的方法) 2.实现appctionContextaware的方法 将SpringUtil注入spring配置文件 获取 ...
分类:
编程语言 时间:
2016-05-05 17:13:19
阅读次数:
211
Spring和SpringMVC作为Bean管理容器和MVC层的默认框架,已被众多WEB应用采用,而实际使用时,由于有了强大的注解功能,很多基于XML的配置方式已经被替代,但是在实际项目中,同时配置Spring和SpringMVC时会出现一些奇怪的异常,比如Bean被多次加载,多次实例化,或者依赖注 ...
分类:
编程语言 时间:
2016-05-05 12:46:37
阅读次数:
251
使用注解来构造IoC容器 用注解来向Spring容器注册Bean。需要在applicationContext.xml中注册<context:component-scan base-package=”pagkage1[,pagkage2,…,pagkageN]”/>。 如:在base-package指 ...
分类:
编程语言 时间:
2016-05-02 00:24:56
阅读次数:
211