Spring学习(二)Spring容器简介及创建
来源:互联网 发布:算命软件购买 编辑:程序博客网 时间:2024/06/05 15:02
一、Spring容器简介
学习Spring IOC之前我们必须要了解Spring容器是什么。
Spring容器是生成Bean实例的工厂,并且管理容器中的Bean。Spring容器最基本的接口就是BeanFactory。BeanFactory负责配置、创建、管理Bean,他有一个子接口:ApplicationContext,因此也称之为Spring上下文。Spring容器负责管理Bean与Bean之间的依赖关系。
- 在Spring中,任何的Java类和JavaBean都被当成Bean处理,
这些Bean通过容器管理和应用。 - Spring容器实现了IOC和AOP机制,这些机制可以简化Bean
对象创建和Bean对象之间的解耦。 - Spring容器有BeanFactory和ApplicationContext两种类型。
BeanFactory接口包含以下几个基本方法:
public Boolean containBean(String name):判断Spring容器是否包含id为name的Bean实例。public <T> getBean(Class<T> requiredTypr):获取Spring容器中属于requiredType类型的唯一的Bean实例。public Object getBean(String name):返回Sprin容器中id为name的Bean实例。public <T> T getBean(String name,Class requiredType):返回容器中id为name,并且类型为requiredType的Beanpublic Class <?> getType(String name):返回容器中指定Bean实例的类型。
了解了Spring容器以后,我们初学者都会问一个问题,何时使用spring?
当需要管理JavaBean对象时候就可以使用, Spring的核心功能就是创建Bean,管理bean与bean之间的关系。Spring是最简洁的对象管理方案之一。
当然这又引出了一个新的概念,什么是JavaBean?
JavaBeans是Java中一种特殊的类,可以将多个对象封装到一个对象(bean)中。特点是可序列化,提供无参构造器,提供getter方法和setter方法访问对象的属性。名称中的“Bean”是用于Java的可重用软件组件的惯用叫法。
要成为JavaBean类,则必须遵循关于命名、构造器、方法的特定规范。有了这些规范,才能有可以使用、复用、替代和连接JavaBeans的工具,Spring正是利用JavaBean规范才才能代替我们管理JavaBean对象。
规范如下:
- 有一个public的无参构造方法。
- 属性可以通过get、set、is(可以替代get,用在布尔型属性上)方法或遵循特定命名规范的其他方法访问。(get和set方法)
- 可序列化(实现Serializeable接口)。
二、Spring容器的实例化、如何创建对象
在使用BeanFactory接口时,我们一般都是使用这个实现类:
org.springframework.beans.factory.xml.XmlBeanFactory。
然而ApplicationContext作为BeanFactory的子接口,使用它作为Spring容器会更加方便。它的实现类有:
FileSystemXmlApplicationContext
ClassPathXmlApplicationContext
AnnotationConfigApplicationContext。
创建Spring容器实例时,必须提供Spring容器管理的Bean的详细配置信息。Spring的配置信息通常采用xml配置文件来设置,因此,创建BeanFactory实例时,应该提供XML配置文件作为参数。
BeanFactory实例化:
//搜索当前文件路径下的bean.xml文件创建Resource对象InputStreamSource isr = new FileSystemResource("bean.xml");//以Resource对象作为参数创建BeanFactory实例XmlBeanFactory factory = new XmlBeanFactory((Resource) isr);或ClassPathResource res = new ClassPathResource("bean.xml");////以Resource对象作为参数创建BeanFactory实例XmlBeanFactory factory = new XmlBeanFactory(res);
但是如果应用里面有多个属性配置文件,则应该采用BeanFactory的子接口ApplicationContext来创建BeanFactory的实例。ApplicationContext通常使用如下两个实现类:
FileSystemXmlApplicationContext:以基于文件系统的XML配置文件创建ApplicationContext实例。
ClassPathXmlApplicationContext:以类加载路径下的XML配置文件创建的ApplicationContext实例。
ApplicationContext实例化:
//加载文件系统中的配置文件实例化String conf = "C:\applicationContext.xml";ApplicationContext ac = new FileSystemXmlApplicationContext(conf);//加载工程classpath下的配置文件实例化String conf = "applicationContext.xml";ApplicationContext ac = new ClassPathXmlApplicationContext(conf);
三、Spring容器的使用
从本质上讲,BeanFactory和ApplicationContext仅仅只是一个维护Bean定义以及相互依赖关系的高级工厂接口。通过BeanFactory和ApplicationContext我们可以访问bean定义。
首先在容器配置文件applicationContext.xml中添加Bean定义
<bean id=“标识符” class=“Bean类型”/>
然后在创建BeanFactory和ApplicationContext容器对象后,调用getBean()方法获取Bean的实例即可
getBean(“标识符”)
- Spring学习(二)Spring容器简介及创建
- Spring学习总结(二)Spring容器
- Spring的核心技术(二)---容器简介
- Spring 学习 二(Spring 容器)
- Spring学习(二)Spring简介
- Spring学习(二)-Spring简介
- Spring学习(三)使用Spring容器创建bean
- spring学习总结(二):IOC & DI 概述及 IOC 容器
- spring容器IOC创建对象<二>
- Spring学习01--IOC容器(简介,注入)
- Spring读书笔记-----使用Spring容器(二)
- Spring读书笔记-----使用Spring容器(二)
- Spring读书笔记-----使用Spring容器(二)
- Spring读书笔记-----使用Spring容器(二)
- spring容器归纳(二)
- 【Spring】IOC核心源码学习(二):容器初始化过程
- 【Spring】IOC核心源码学习(二):容器初始化过程
- 《spring技术内幕》学习(二)ioc容器实现
- android 跳转activity,清空之前activity栈
- iOS 数组转字符串,字符串拆分数组(有分隔符)
- ButterKnife解决 findViewById频繁调用问题
- 移除HTML5 input在type="number"时的上下小箭头
- 带有webview的activity响应系统返回键的处理
- Spring学习(二)Spring容器简介及创建
- 使用logstash+elasticsearch+kibana快速搭建日志平台
- oracle索引总结
- Android MediaRecorder拍摄时间过短程序闪崩(stop failed.)
- 程序编写准则与提升
- 正则表达式
- tese
- 动画的暂停与继续播放
- javascript数学计算以后保留两位小数