1.Spring简介

1. Spring是管理bean的容器 . Spring提供了多种容器实现,并分为两类 . Bean工厂(由org.springframework.beans.factory.BeanFactory接口定义)是最简单的容器,提供了基础的依赖注入支持. 应用上下文(由org.springframework.context.ApplicationContext接口定义)建立在Bean工厂基础之上,提供了系统架构服务.

2. BeanFactory:Bean工厂采用了工厂设计模式. 就是说,这个类负责创建和分发Bean. 但是,不像其他工厂模式的实现,它们只是分发一种类型的对象,而Bean工厂是一个通用的工厂,可以创建和分发各种类型的Bean.

但是,除了简单的实例化和分化应用对象以外,Bean工厂还有很多工作要做.由于Bean工厂知道应用系统中的很多对象,所以它可以在实例化这些对象的时候,创建协作对象间的关联关系. 这样就把配置的负担从Bean自身以及Bean的调用者中脱离出来.结果,Bean工厂分发出来的Bean都已经被配置好了,都得到了它们的关联对象,已经可以被使用了.Bean工厂要参与到Bean的生命周期中,调用用户定义的初始化和销毁方法(如果定义了这些方法的话).

在Spring中有几种BeanFactory的实现.其中最常使用的org.springframework.beans.factory.xml.XmlBeanFactory,它根据XMl文件中的定义装配Bean.

要创建XmlBeanFactory,需要传递一个org.springframework.core.io.Resource实例给构造函数.此Resource对象提供XML文件给工厂.

针对不同的资源,资源位置 Resource有多重实现类.

例如:下面的代码片段使用了一个FileSystemResource来创建一个XmlBeanFactory,其Bean的定义来自文件系统中的XML文件:

BeanFactory factory=new XmlBeanFactory(new FileSystemResource("c:/beans.xml"));

这行简单的代码告诉Bean工厂从XML文件中读取Bean的定义信息. 但是,现在Bean工厂还没有实例化Bean . Bean是被延迟载入到Bean工厂中的,就是说Bean工厂会立即把Bean定义信息载入进来,但是Bean只有在被需要的时候才被实例化.

为了从BeanFactory得到一个Bean,只要简单的调用getBean()方法,把你需要的Bean的名字当做参数传递进去就行了.\

MyBean myBean=(MyBean)factory.getBean("myBean");

当getBean()方法被调用的时候,工厂就会实例化Bean并且使用依赖注入设置Bean的属性.这样在Spring的容器当中就开始了Bean的生命周期.

3. ApplicationContext:表面上ApplicationContext和BeanFactory差不多.两者都是载入Bean定义信息,装配Bean,根据需要分发Bean.但是ApplicationContext提供了更多功能:

`应用上下文提供了文本信息解析工具,包括对国际化(I18N)的支持

`应用上下文提供了载入文件资源的通用方法,入载入图片

`应用上下文可以向注册为监听器的Bean发送事件

由于它提供的附加功能,几乎所有的应用系统都选择ApplicationContext而不是BeanFactory.只有在资源很好的情况下,才会考虑采用BeanFactory,如在移动设备上.

在ApplicationContext的诸多实现中,有三个实现经常用到:

`ClassPathXmlApplicationContext-从类路径中的XMl文件载入上下文定义信息,把上下文定义文件当成类路径资源

`FileSystemXmlApplicationContext-从文件系统中的XML文件载入到上下文定义信息

`XmlWebApplicationContext-从Web系统中的Xml载入上下文定义信息

例如:下面的代码显示了如何载入FileSystemXmlApplicationContext:

ApplicationContext context=new FileSystemXmlApplicationContext("c:/foo.xml");

1.Spring简介

时间: 2024-11-04 06:08:08

1.Spring简介的相关文章

spring简介及常用术语

1.引入 在开发应用时常会遇到如下问题: 1)代码耦合性高: 2)对象之间依赖关系处理繁琐: 3)事务控制繁琐: 2.Spring简介 1)Spring概述 什么是Spring: ①Spring是一个轻量级的DI/Ioc和AOP容器框架.存在的意义是用于构建轻量级的J2EE应用: ②Spring以一种非侵入式的方式来管理你的代码,Spring提倡"最少侵入",这就意味着你可以在适当的时候安装或卸载Spring. 目的:解决企业应用开发的复杂性: 功能:使用基本的JavaBean代替EJ

细谈Spring(一)spring简介

Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的.框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架.  然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益. Spring的核心是个轻量级容器(container),实现了IoC(Inversion of Control)模式的容器,Spring的目标是实现一个全方位的整合框架,在Spr

spring学习(一)spring简介

Spring简介: Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程). 什么是框架: 框架:是能完成一定功能的半成品. 框架能够帮助我们完成的是:项目的整体框架.一些基础功能.规定了类和对象如何创建,如何协作等,当我们开发一个项目时,框架帮助我们完成了一部分功能,我们自己再完成一部分,那这个项目就完成了

Spring简介即Spring Ioc和Spring Di

Spring框架简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从S

使用SMM框架开发企业级应用-----Spring简介即Spring Ioc

Spring框架简介 Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来.它是为了解决企业应用开发的复杂性而创建的.Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情.然而,Spring的用途不仅限于服务器端的开发.从简单性.可测试性和松耦合的角度而言,任何Java应用都可以从S

Web框架:Spring简介

Spring是一个比较全面的框架,有很多功能.见下图: ApplicationContext ApplicationContext是Spring的核心类,保存了所有的配置.它有多种加载方式,例子如下: // 只能从/WEB-INF/classes加载配置文件 new ClassPathXmlApplicationContext("applicationContext.xml"); // 可以从任何文件加载配置 new FileSystemXmlApplicationContext(&q

spring简介

1.  spring介绍 简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架. struts 是 web 框架(jsp/action/actionfrom) hibernate 是 orm框架,处于持久层. spring 是容器框架,用于配置bean,并维护bean之间关系的框架 2.  spring的好处 ?  低侵入式设计,代码污染极低 ?   独立于各种应用服务器,基于Spring框架的应用,可以真正实现WriteOnce,Run Anywhere的承诺

Spring讲解一:Spring简介和入门

一.Spring是什么? Spring是一个开源框架, Spring为简化企业级应用开发而生,使用Spring可以使简单的JavaBean实现以前只有EJB才能实现的功能. Spring是一个IOC(DI)和AOP容器框架. 二.具体描述Spring 轻量级:Spring是非侵入式的-基于Spring开发的应用中的对象可以不依赖Spring的API 依赖注入:(DI-Dependency injection.IOC) 面向切面编程:(AOP-aspect oriented programming

Spring1:Spring简介、环境搭建及源码下载

框架学习前言 这个模块是对于Java框架的学习,主要就是Spring.Hibernate.Ibatis,框架的学习我是这么想的: 1.简单介绍框架,主要是从网上借鉴一些重点 2.尽量说明清楚框架的使用方法以及细节点 3.尽量以自己的理解讲清楚Spring中的一些源代码 Spring是什么 Spring是一款为了解决企业应用开发的复杂性而创建的轻量级Java框架.框架的主要优势之一就是其分层架构,分层架构允许使用者选择哪一个组件,同时为J2EE应用程序开发提供集成的框架.从简单性.可测试性和松耦合