`
tianye
  • 浏览: 31691 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

Spring的 Bean 封装机制

阅读更多
Spring从核心而言就是一个DI(依赖注入)容器,其核心的核心就是Bean的封装机制:BeanWrapper(Bean的封装包)和Bean Factory(Bean工厂)
1.Bean Wrapper
  Bean Wrapper及Bean Factory的底层是通过java.lang.reflect机制来实现的
  Class  cla = Class.forName("com.tianye.Student");
  Object obj = (Object)cla.newInstance();
  Method method = cla.getMethod("setName",new Class[]{String.class});
  method.invoke(obj,new Object[]{"TianYe"});

利用Bean Wrapper来操作一个Bean实例:
  public static void TestBeanWrapper(){
   
    try{
       Object obj = Class.forName("com.tianye.Student").newInstance();
       BeanWrapper bw = new BeanWrapperImpl(obj);
       bw.setPropertyValue("name","TianYe");
       System.out.println(bw.getPropertyValue("name"));
      }catch(Exception e){
       e.printStackTrace();
    }
   }
BeanWrapper 需要逐个的对属性设置值,操作起来比较繁琐,而且只是针对单个Bean进行的操作,BeanWrapper不是很常用,在此基础上出现了BeanFactory
2.BeanFactory
  BeanFactory对Bean的操作是通过配置文件来完成的,BeanFactory在配置文件中可以配置的项目:
   (1) Bean属性值及依赖关系
    (2) Bean的创建模式(是否为singleton)
   (3) Bean的初始化及销毁方法
   (4) Bean的依赖关系
<bean>标签中的属性及用法
id: 是Bean在BeanFactory中的一个唯一的标识,在代码中以此作为索引名称来获取Bean实例的
    class:类名(类的路径---包名.类名)
    singleton: singleton="false"的时候表示该类不是单例Bean是多利Bean,多线程访问的时候,会获取到多个不同的Bean实例  singleton="true"的时候表示该类是单例Bean,多线程访问的时候只可以获取到一个Bean实例
   lazy-init:为"true"的时候表示在spring容器启动的时候不用加载该Bean,只要第一次获取Bean实例的时候才加载该Bean, 为"false"的时候则是在spring容器启动的时候就被加载,利用该属性可以优化spring容器的启动速度
    该属性只针对于单例Bean起作用,当singleton="false"的时候系统抛出异常
   init-method:初始化方法,在BeanFactory创建Bean实例后执行该方法
   destroy-method:销毁方法,在Bean销毁的时候调用,一般用于资源释放

   <property>标签中的属性及用法
   <value>节点:用于指定一个属性的值,BeanFactory会自动进行类型匹配
   <ref>节点:指定了属性对BeanFactory中其他Bean的引用关系(即一个Bean中的属性或方法中的参数是另一个Bean的对象或是Interface对象),由接口的实现类来完成注入
   <null>节点:当Bean中的属性值要设为 null 的时候,就需要使用到<null/>子节点
利用BeanFactory来获取Bean实例:
   InputStream is = new FilleInputStream("bean.xml");
   XmlBeanFactory xbf = new XmlBeanFactory(is);
   IHello ihello = (IHello)xbf.getBean("hello");
BeanFactory实现了对多个Bean的管理


   
分享到:
评论

相关推荐

    普元eos-springbean开发

    在普元EOS平台中,SpringBean同样扮演着重要角色,用于封装业务逻辑、数据访问等功能。通过合理地设计和配置SpringBean,可以极大地提高开发效率和系统的可维护性。 #### 开发前准备 - **首选项代码模板配置**:在...

    实例化Spring bean的两种工厂方法

    在Spring框架中,bean的实例化是其核心功能之一,它允许我们管理应用程序中的对象生命周期。本篇将详细探讨两种工厂方法——实例工厂方法和静态工厂方法,用于创建Spring Bean。 首先,我们要理解Spring Bean的概念...

    spring bean 属性总结

    `&lt;beans&gt;`元素是Spring配置文件的根元素,用于封装一个或多个`&lt;bean&gt;`元素。这使得开发人员能够在一个文件中定义和配置多个Bean,从而简化了应用程序的配置过程。 #### `&lt;bean&gt;` 元素 `&lt;bean&gt;`元素用于告诉Spring...

    spring中文教程

    Spring的Bean封装机制是其核心功能之一,主要包括: - **Bean Wrapper**:提供了一种访问和操作Bean属性的方法,支持读写操作,是Spring Bean管理的重要组成部分。 - **Bean Factory**:是Spring容器的基础,负责...

    spring guide

    通过对Spring框架核心概念的详细解读,如依赖注入的不同实现类型、Bean封装机制等,本书为开发者提供了坚实的基础,助力他们在实际项目中灵活运用Spring框架,构建高效、可维护的企业级应用程序。无论是新手还是有...

    spring教程+电子书

    - **Spring Bean 封装机制**: - **BeanWrapper**:提供了一种统一的方式处理不同类型的 Bean 属性。 - **BeanFactory**:负责实例化、定位和配置应用程序中的对象。 - **ApplicationContext**:扩展了 `...

    Spring 开发指南Xiaxin (夏昕)

    ### Spring 开发指南Xiaxin (夏昕)...此外,本书还介绍了依赖注入的不同实现方式及其优缺点,以及Spring框架提供的Bean封装机制等内容。对于希望深入理解和应用Spring框架的开发者来说,本书是一份不可多得的宝贵资料。

    spring 入门教程

    Spring框架通过Bean封装机制管理应用程序中的对象,这些对象被称为“Beans”。Bean的生命周期、配置和依赖关系都在Spring容器的控制之下,使得开发者可以专注于业务逻辑而不是基础设施的细节。 1. **Bean Wrapper**...

    spring+MVC中文教程

    #### 四、Spring Bean封装机制 - **Bean Wrapper**:提供了操作Bean的方法,可以用来获取和设置Bean的属性。 - **Bean Factory**:是最基本的容器,负责实例化、定位和配置对象,是所有容器的基类。 - **...

    spring框架,技术详解及使用指导

    #### Spring Bean封装机制 Spring框架提供了一种灵活的方式来管理对象的生命周期,这主要通过Bean Factory和ApplicationContext来实现。 - **Bean Wrapper**:Bean Wrapper提供了一种封装Bean的方法,它支持读取和...

    夏昕spring

    #### Spring Bean封装机制 Spring框架通过Bean Factory或ApplicationContext来管理对象的生命周期。Bean Factory是最基本的容器,负责实例化、定位和配置应用程序中的对象,即“Beans”。ApplicationContext则提供...

    Spring开发指南

    #### 四、Spring Bean封装机制 - **BeanWrapper**:是Spring提供的用于封装JavaBean的一个接口,它提供了对Bean属性的读写操作。 - **作用**:BeanWrapper提供了统一的接口来访问和修改Bean的属性,简化了对Bean的...

    spring技术详解

    #### Spring Bean封装机制 Spring框架通过Bean Wrapper和Bean Factory等机制来管理和封装Bean。 - **Bean Wrapper**:提供了对Bean属性的访问和操作。它可以用来获取或设置Bean的属性值。 - **Bean Factory**:是...

    Spring开发手册

    #### Spring Bean封装机制 Spring提供了多种机制来封装和管理Bean,包括: - **BeanWrapper**:提供了访问和操作Bean属性的统一接口,支持类型转换和属性编辑。 - **BeanFactory**:Spring的最基本工厂接口,负责...

    spring教程-经典官方教程(适合初学者)

    - SpringBean封装机制包括BeanWrapper、BeanFactory和ApplicationContext等概念,它们是Spring框架中管理Bean生命周期和依赖的核心组件。 - Spring高级特性章节讲解了Spring框架的高级用法,例如Web应用与MVC、...

Global site tag (gtag.js) - Google Analytics