`

Spring学习(六)管理Bean

 
阅读更多

(一)使用BeanWrapper管理Bean:

在org.springframework.beans包中,有两个非常重要的类,BeanWrapper及BeanWrapperImpl,BeanWrapper封装了bean的行为,提供了设置和获取属性值的功能.

1、修改HelloWorld,增加一个无参的构造器:

package com.gc.entity;

import java.util.List;

public class HelloWorld {

 private List msg;
 
 public HelloWorld() {
  
 }

 public List getMsg() {
  return msg;
 }

 public void setMsg(List msg) {
  this.msg = msg;
 }
}
2、TestHelloWorld:

package com.gc.test;

import java.util.Date;

import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

import com.gc.action.EhHello;
import com.gc.impl.Hello;

public class TestHelloWorld {

 public static void main(String[] args) {
  /**使用BeanWrapper来设置和获取相关bean的信息*/
  try {
   //通过Class.forName()方法,获取类HelloWorld的一个实例
   Object object = Class.forName("hello").newInstance();
   //通过BeanWrapper来设定类HelloWorld的属性
   BeanWrapper beanWrapper = new BeanWrapperImpl(object);
   //根据类变量设定变量的值
                  beanWrapper.setPropertyValue("msg","helloworld");
                  beanWrapper.setPropertyValue("date",new Date());
                  //把刚才设定的值,根据变量名取出
                  System.out.println(beanWrapper.getPropertyValue("msg"));
  } catch (InstantiationException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (IllegalAccessException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  } catch (ClassNotFoundException e) {
   // TODO Auto-generated catch block
   e.printStackTrace();
  }
  
 }
}

(二)使用BeanFactory管理Bean

BeanFactory实际上是实例化、配置和管理众多Bean的容器,这些Bean通常会彼此合作,从而产生依赖。

一个BeanFactory可以用org.springframework.beans.factory.BeanFactory.该接口有多个实现,最简单的是

org.springframework.beans.factory.xml.XmlBeanFactory.

package com.gc.test;

import java.util.Date;

import org.springframework.beans.BeanWrapper;
import org.springframework.beans.BeanWrapperImpl;
import org.springframework.beans.factory.xml.XmlBeanFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;
import org.springframework.core.io.ClassPathResource;

import com.gc.action.EhHello;
import com.gc.action.HelloWorld;
import com.gc.impl.Hello;

public class TestHelloWorld {

 public static void main(String[] args) {
  //使用BeanFactory的方式
  ClassPathResource resource = new ClassPathResource("config.xml");
  //通过XmlBeanFactory来解析配置文件
  XmlBeanFactory xml = new XmlBeanFactory(resource);
  HelloWorld  hell =(HelloWorld) xml.getBean("hello");
 }
}

(3)使用ApplicationContext方式管理Bean

ApplicationContext除了提供BeanFactory所有的功能外,还有一些其他的功能主要包括国际话、资源访问、事件传递。

分享到:
评论

相关推荐

    Spring学习笔记(9)----让Spring自动扫描和管理Bean

    在Spring框架中,自动扫描和管理Bean是一种便捷的方式,它允许开发者无需显式配置每个Bean,而是通过指定包路径来让Spring自动发现和管理Bean。本文将深入探讨这个主题,帮助你更好地理解和应用这一功能。 首先,让...

    Spring之核心容器bean

    Spring的核心容器是整个框架的基础,它负责创建、配置和管理bean。主要有两个关键组件:BeanFactory和ApplicationContext。BeanFactory是Spring的基础容器,它提供bean的实例化、作用域、依赖注入、生命周期管理等...

    spring bean life cycle

    总的来说,Spring Bean生命周期的理解和灵活运用,能帮助我们更好地控制Bean的行为,实现更高效、更可控的依赖管理和资源管理。通过深入学习源码,我们可以进一步了解Spring如何实现这些功能,从而提升我们的开发...

    SpringIoC容器和Bean管理学习记录-SSM框架的学习与应用

    1.spring中bean实例化的俩种方式 2.spring中bean的各种元素如何使用 3.spring中的bean管理 4.spring中不同类型bean的作用域 ...通过我的项目,可以跟着学习SPringIoC容器和Bean管理,帮助你快速上手SSM框架

    Spring中关于Bean的管理的课件

    在Spring框架中,Bean的管理是其核心特性之一,它涉及到Bean的创建、初始化、装配以及...通过学习和实践这些内容,开发者可以更好地理解和掌握Spring如何管理Bean,以及如何利用这些机制来构建高效、可扩展的Java应用。

    spring管理bean应用实例代码

    在Spring框架中,Bean管理是核心功能之一,它允许开发者通过声明式的方式配置和管理...这个压缩包中的实例代码应该涵盖了这些概念的实际运用,通过学习和运行这些代码,你可以更深入地理解Spring管理Bean的工作原理。

    spring中的bean

    在Spring中,Bean通常代表应用程序中的一个对象,这些对象由Spring容器(ApplicationContext)管理,包括创建、初始化、装配和销毁。Bean可以通过XML配置文件、注解或者Java配置类进行定义。 1. **Bean的定义**:在...

    普元eos-springbean开发

    SpringBean是Spring框架的核心概念之一,它是Spring IoC容器管理的对象。在普元EOS平台中,SpringBean同样扮演着重要角色,用于封装业务逻辑、数据访问等功能。通过合理地设计和配置SpringBean,可以极大地提高开发...

    Spring (bean怎样注入值)学习实例

    在Spring框架中,Bean的注入是其核心特性之一,它允许开发者通过声明式的方式管理对象的依赖关系。本文将深入探讨如何在Spring中通过XML配置文件对Bean进行值的注入,包括List、Set和Map等集合类型的注入。 首先,...

    Spring源码学习二:BeanDefinition解析1

    总之,BeanDefinition是Spring框架中描述bean的核心数据结构,它封装了bean的全部配置信息,使得Spring容器能够根据这些信息创建、初始化和管理bean实例。理解和掌握BeanDefinition对于深入学习Spring框架至关重要,...

    第一章 Spring4 简介及获取Bean

    在Spring框架中,Bean是被Spring管理的对象,它们可以通过XML配置、注解或者Java配置类来定义。Spring使用IoC容器来管理和实例化这些Bean。获取Bean主要有以下几种方式: 1. **通过Bean的ID**:使用`...

    Spring2.5视频教程_编码剖析Spring管理Bean的原理

    本教程通过实际编码演示,帮助学习者理解Spring如何在应用程序中管理Bean的生命周期和依赖关系。 在Spring框架中,Bean是核心组件,它们代表了应用程序中的业务对象。Spring通过IoC(Inversion of Control,控制...

    搭建与测试Spring的开发环境和编码剖析Spring 管理Bean的原理

    这个是搭建与测试Spring的开发环境和编码剖析Spring 管理Bean的原理的代码,适合刚接触spring的人学习,如何搭建spring开发环境,以及了解spring是如何管理bean的。这个是由传智播客的老师讲的。

    spring学习----工厂Bean

    通过阅读Spring框架的源代码,我们可以看到FactoryBean接口的实现如何影响IoC容器的行为,以及`getObject()`和`isSingleton()`方法如何被容器调用来生成和管理Bean实例。 至于"工具"标签,FactoryBean也是Spring...

    spring学习资料大全

    以下是对"Spring学习资料大全"的详细解析: 1. **Spring框架基础**: - **依赖注入(Dependency Injection,DI)**:Spring的核心特性之一,它允许开发者在运行时通过XML配置或注解方式来管理对象间的依赖关系,...

    Spring学习指南

    Spring学习指南是一份提供Spring框架学习资料的文档,由夏昕编写。Spring是一个开源的Java平台,它提供了全面的编程和配置模型。该框架的主要特点是为Java平台提供了一个轻量级的、全功能的开源应用框架,目的是使得...

    Spring学习笔记之bean生命周期

    《Spring学习笔记之bean生命周期》 在Spring框架中,Bean是核心组件,它们构成了应用程序的主要结构。理解Spring Bean的生命周期对于有效地管理和优化Spring应用程序至关重要。本文将深入探讨Spring Bean的生命周期...

    Spring的Bean管理;IoC, DI

    在Spring框架中,Bean管理是核心特性之一,它涉及到依赖注入(Dependency Injection,简称DI)和控制反转(Inversion of Control,简称IoC)。这两者是面向对象编程中设计模式的重要概念,也是Spring提高应用程序可...

    Spring源码学习四:BeanDefinition装载前奏曲1

    接下来,`obtainFreshBeanFactory()`方法创建了一个`ConfigurableListableBeanFactory`,它是Spring的Bean工厂,负责Bean的创建、管理和查找。在这个过程中,BeanDefinition的装载工作开始启动。 `...

    Spring学习笔记&源码

    本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...

Global site tag (gtag.js) - Google Analytics