Alex刺客

Dancing fingers, damage world. -- 舞动手指,破坏世界.

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  57 随笔 :: 0 文章 :: 76 评论 :: 0 Trackbacks
本文参考了
http://www.springsource.org/documentation
spring 2.5中文参考手册


一、IoC 容器
 
    1.org.springframework.beans.factory.BeanFactory 是Spring IoC容器的实际代表者,IoC容器负责容纳此前所描述的bean,并对bean进行管理。

    2.在Spring中,BeanFactory是IoC容器的核心接口。 它的职责包括:实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。

    3.Spring为我们提供了许多易用的BeanFactory实现, XmlBeanFactory就是最常用的一个。该实现将以XML方式描述组成应用的对象 以及对象间的依赖关系。XmlBeanFactory类将获取此XML配 置元数据,并用它来构建一个完全可配置的系统或应用。

    4.BeanFactory 容器提供配制框架及基本功能,。ApplicationContext 容器 是 BeanFactory 的扩展,集成了 Spring AOP、资源处理(国际化处理)、事件传递及各种不同应用层的context实现 (如针对web应用的WebApplicationContext)。
 
 
二、Bean
 
    在Spring中,那些组成你应用程序的主体(backbone)及由Spring IoC容器所管理的对象,被称之为bean。 简单地讲,bean就是由Spring容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什么区别了。 而bean定义以及bean相互间的依赖关系将通过配置元数据来描述。
 
     
三、用 XML 定义Bean
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4         xsi:schemaLocation="http://www.springframework.org/schema/beans
 5         http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
 6 
 7         <bean id="BeanID" class="ClassPath">
 8         </bean>
 9 
10         <bean id="" class="">
11         </bean>
12 
13         
14 
15 </beans>
16 

 bean定义与应用程序中实际使用的对象一一对应。通常情况下bean的定义包括:服务 层对象、数据
访问层对象(DAO)、类似Struts Action的 表示层对象、Hibernate SessionFactory对象、JMS Queue对象>等等。通常bean的定义并不与容器中的领域 对象相同,因为领域对象的创建和加载必须依赖具体的DAO和业>务逻辑。


四、实例化容器

        1.实例化 BeanFactory 容器
1 Resource resource = new ClassPathResource("alex/study/spring/spring.xml")
2 BeanFactory factory = new XmlBeanFactory(resource);
 
       2.实例化 ApplicationContext 容器
1 ApplicationContext factory = new ClassPathXmlApplicationContext("alex/study/spring/spring.xml");


五、多个 xml 配置文件

        1.指定一个数组
1 ApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"services.xml""daos.xml"});

        2.在 xml 配置文件 Beans 块首部引入其它配置文件
 1 <beans>
 2 
 3     <import resource="services.xml"/>
 4     <import resource="resources/messageSource.xml"/>
 5     <import resource="/resources/themeSource.xml"/>
 6 
 7     <bean id="bean1" class=""/>
 8     <bean id="bean2" class=""/>
 9 
10 </beans>


六、Bean 别名

        1.每个bean都有一个id,这些id在当前IoC容器中必须唯一。指定别名可以在name属性中使用逗号、>空格将多个字符串(别名)分隔。
1 <bean id="hello" name="world,hello2 hello3" class="alex.study.spring.beanlifecycle.HelloService"/>

        2.或使用alias元素配置
1 <alias name="hello" alias="helloalias"/>


七、实例化 Bean
        1.默认的 Bean 通过类的默认(无参)构造器创建实例。

        2.使用静态工厂方法实例化,createInstance()必须是一个static方法。
1 <bean id="exampleBean" class="examples.ExampleBean2" factory-method="createInstance"/>

        3.使用实例工厂方法实例化.与 使用静态工厂方法实例化类似,用来进行实例化的非静态实例工厂>方法位 于另外一个bean中,容器将调用该bean的工厂方法来创建一个新的bean实例。为使 用此机制,class属性必须为空,而factory-bean 属性必须指定为当前(或其祖先)容器中包含工厂方法的bean的名称,而该 >工厂bean的工厂方法本身必须通过factory-method属性来设定。
1 <bean id="serviceLocator" class="com.foo.DefaultServiceLocator"></bean>
2 <bean id="exampleBean" factory-bean="serviceLocator" factory-method="createInstance"/>


posted on 2010-07-30 09:07 Alex刺客 阅读(316) 评论(0)  编辑  收藏 所属分类: Spring Study Notes

只有注册用户登录后才能发表评论。


网站导航: