spring 解读之 基本bean装配
来源:互联网 发布:淘宝省市区三级联动js 编辑:程序博客网 时间:2024/06/18 11:28
容器是spring的核心,spring容器使用DI管理所有组成应用系统的组件。
spring的IOC容器能够帮我们自动new对象,对象交给spring管之后我们不用自己手动去new对象了。
1.spring 容器分为两类:
2.BeanFactory介绍:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
来自CODE的代码片database.xml
1 2
来自CODE的代码片beanFactory1.java
1 2
来自CODE的代码片getBean.java
3.应用上下文:
1 2 3
来自CODE的代码片ApplicationContext.java
ApplicationContext的诸多实现中,以下三种经常用到:
ClassPathXmlApplicationContext
FileSystemXmlApplicationContext
XmlWebApplicationContext
第一种和第二种的区别在于,ClassPath可以在整个类路径(包括JAR文件)中寻找定义Bean的XML文件;而FileSystem只能在指定路径中寻找。1 2 3
来自CODE的代码片app.java
4.BeanFactory与ApplicationConText区别:
BeanFactory被初始化的时候,并没有加载所有的单实例Bean对象,而是等到调用getBean()方法的时候才初始化相应的Bean实例对象。
ApplicationContext被初始化的时候就已经检查所有的Bean对象并初始化,当调用getBean()方法的时候,直接可以从缓存中取出相应的Bean实例对象。
5.Bean的生命周期
5.1 Bean的定义
Spring通常通过配置文件定义Bean。如:
1 2 3 4 5 6 7 8 9 10
来自CODE的代码片bean.xml
这个配置文件就定义了一个标识为 HelloWorld 的Bean。在一个配置文档中可以定义多个Bean。
5.2 Bean的初始化
有两种方式初始化Bean。
5.2.1在配置文档中通过指定init-method 属性来完成
在Bean的类中实现一个初始化Bean属性的方法,如init(),如:
1 2 3 4 5 6 7 8 9 10
来自CODE的代码片bean2.java
然后,在配置文件中设置init-mothod属性:
1
来自CODE的代码片init.xml
5.2.2 实现 org.springframwork.beans.factory.InitializingBean接口
Bean实现InitializingBean接口,并且增加 afterPropertiesSet() 方法:
1 2 3 4 5 6 7 8 9 10
来自CODE的代码片initializ.java
那么,当这个Bean的所有属性被Spring的BeanFactory设置完后,会自动调用afterPropertiesSet()方法对Bean进行初始化,于是,配置文件就不用指定 init-method属性了。
5.3 Bean的调用
有三种方式可以得到Bean并进行调用:
5.3.1 使用BeanWrapper
1 2 3 4
来自CODE的代码片beanWrapper.java
5.3.2 使用BeanFactory
1 2 3 4
来自CODE的代码片xmlBeanFactory.java
5.3.3 使用ApplicationContext
1 2 3
来自CODE的代码片applicationContext.java
5.4 Bean的销毁
5.4.1 用配置文件中的 destory-method 属性
与初始化属性 init-methods类似,在Bean的类中实现一个撤销Bean的方法,然后在配置文件中通过 destory-method指定,那么当bean销毁时,Spring将自动调用指定的销毁方法。
5.4.2 实现 org.springframwork.bean.factory.DisposebleBean接口
如果实现了DisposebleBean接口,那么Spring将自动调用bean中的Destory方法进行销毁,所以,Bean中必须提供Destory方法。
- spring 解读之 基本bean装配
- spring 解读之 基本bean装配
- spring 基本Bean装配
- Spring之装配Bean
- Spring Bean装配之自动装配
- Spring之Bean装配原理
- Spring Bean装配之Resource
- Spring入门之bean装配
- Spring之装配bean(二)
- Spring之装配Bean(一)
- Spring Bean之JavaConfig自动化装配bean
- Spring学习之Bean装配、生命周期。。
- Spring学习笔记之Bean装配
- Spring学习笔记之Bean的装配
- Spring之Bean的创建和装配
- Spring技术内幕之Bean自动装配
- Spring学习笔记之自动化装配Bean
- Spring入门 Bean装配之Aware接口
- crontab处理java定时任务
- 基本类型与包装类型
- 栈和队列的相关面试题
- 谈谈这几天加班的感受
- Unity3d 工具方法
- spring 解读之 基本bean装配
- 51nod 最大公约数GCD
- android布局--Android fill_parent、wrap_content和match_parent的区别 三个属性都用来适应视图的水平或垂直大小,一个以视图的内容或尺寸为基础的布局比精
- Eclipse中使用Git
- 兼容IE8问题
- 剑指offer-数字在排序数组中出现的次数
- java List的<>中 方法参数是父类对象的list。传入子类对象时的处理
- 软件设计原则概述
- 剑指offer-数字在排序数组中出现的次数