spring:bean的定义

一个完整的Bean的配置文件:

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD//BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
  <!--定义一个bean,id是这个bean的唯一标识,class指出这个bean的来源,singleton指定这个bean是否是单例模式,
  depends-on指定这个bean初始化前,强制初始化date-->
  <bean id="HelloWorld" class="com.gc.action.HelloWorld" singleton="true" depends-on="date">
    <!--配置bean的属性-->
    <property name="msg">
    <value>HelloWorld!</value>
    </property>
    <!--指定bean的一个依赖-->
    <property name="date">
    <ref bean="date"/>
    </property>
  </bean>

  <bean id="date" class="java.util.Date"/>
</beans>

Spring中,Bean的使用有3种方式:

第一种:使用BeanWrapper

HelloWorld helloWorld = new HelloWorld();
BeanWrapper bw = new BeanWrapperlmpl(helloWorld);
bw.setPropertyValue("msg", "HelloWorld");
System.out.println(bw.getPropertyValue("msg"));

第二种,使用BeanFactory

InputStream is = new FileInputStream("config.xml");
XmlBeanFactory factory = new XmlBeanFactory(is);
HelloWorld helloWorld = (HelloWorld)factory.getBean("HelloWorld");
System.out.println(helloWorld.getMsg());

第三种,使用ApplicationContext

ApplicationContext actx = new FileSystemXmlApplicationContext("config.xml");
HelloWorld helloWorld = (HelloWorld)actx.getBean("HelloWorld");
System.out.println(helloWorld.getMsg());
时间: 2024-10-12 09:17:32

spring:bean的定义的相关文章

【Spring IoC】Spring Bean(二)

一.Spring Bean的定义 被称作 bean 的对象是构成应用程序的支柱也是由 Spring IoC 容器管理的.bean 是一个被实例化,组装,并通过 Spring IoC 容器所管理的对象.这些 bean 是由容器提供的配置元数据创建的. bean 定义包含称为配置元数据的信息.主要包括: 如何创建一个 bean bean 的生命周期的详细信息 bean 的依赖关系 每个 bean 可以定义的属性有: class:必填,用来定义类的全限定名(包名+类名).只有子类Bean不用定义该属性

Spring bean定义解析源码分析

在上一篇Spring IOC容器启动简介中在ClassPathXmlApplicationContext的基础粗略的分析了IOC容器的启动过程,对一些比较复杂的步骤没有详细的说明,从本篇开始对其中的一些比较复杂的步骤进行分析.本篇对基于ClassPathXmlApplicationContext的IOC容器的bean定义的解析与加载过程进行分析.bean定义解析加载的简单时序图如下: bean定义的解析通过XmlBeanDefinitionReader来完成,在解析前先做一些准备工作:1.设置环

spring beans源码解读之--Bean的定义及包装

bean的定义,包装是java bean的基础.再怎么强调它的重要性都不为过,因此深入 了解这块的代码对以后的代码研究可以起到事半功倍的功效. 1. Bean的定义BeanDefinition 1.1 BeanDefinition 作用 一个BeanDefinition描述了一个bean的实例,包括属性值,构造方法参数值和继承自它的类的更多信息.BeanDefinition仅仅是一个最简单的接口,主要功能是允许BeanFactoryPostProcessor 例如PropertyPlaceHol

Spring学习九----------Bean的配置之Bean的定义及作用域的注解实现

Spring Bean常用注解 @Component:通常注解,可用于任何Bean @Repository:通常用于注解DAO层,即持久层 @Service:通常用于注解Service层,即服务层 @Controller:通常用于注解Controller层,即控制层 类的自动检测及Bean的注册 <context:component-scan base-package=""/>:自动扫描base-package定义的包或其子包下的类,并将带有@Component,@Cont

Spring Bean定义的三种方式

一.基于XML的配置 适用场景: Bean实现类来自第三方类库,如:DataSource等 需要命名空间配置,如:context,aop,mvc等 <beans> <import resource="resource1.xml" />//导入其他配置文件Bean的定义 <import resource="resource2.xml" /> <bean id="userService" class=&quo

Spring学习(4)IOC容器配置bean:定义与实例化

一.  IOC容器配置 1. 一些概念 (1)IOC容器: 定义:具有管理对象和管理对象之间的依赖关系的容器. 作用:应用程序无需自己创建对象,对象由IOC容器创建并组装.BeanFactory是IOC容器的核心. 流程:IOC容器根据配置文件,读取配置元数据,通过元数据库对程序中的各个对象进行实例化和装配.Spring与配置文件完全解耦,可以使用其他任何方式进行配置元数据,比如注解.基于java文件.基于属性文件的配置都可以. (2)Bean:IOC容器管理的应用程序的对象我们称它为bean.

Spring点滴四:Spring Bean生命周期

Spring Bean 生命周期示意图: 了解Spring的生命周期非常重要,我们可以利用Spring机制来定制Bean的实例化过程. --------------------------------------------------------------------------------------------------------------------------------------------------- spring-service.xml: <?xml version=

Spring Bean

一.Spring的几大模块:Data access & Integration.Transcation.Instrumentation.Core Spring Container.Testing. 二.Spring Bean 2.1.声明Bean a.简单的bean装配方式 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework

使用 Java 配置进行 Spring bean 管理--转

概述 众所周知,Spring 框架是控制反转 (IOC) 或依赖性注入 (DI) 模式的推动因素,而这种推动是通过基于容器的配置实现的.过去,Spring 允许开发人员使用基于 XML 的配置,通过利用应用程序上下文 XML 文件来管理 bean 依赖性.此文件处于应用程序的外部,包含 bean 及其与该应用程序的依赖项的定义.尽管使用 XML 配置较为简单和便捷,但仍有另外一种方法可定义 bean 及其依赖项.这种方法也称为基于 Java 的配置.不同于 XML,基于 Java 的配置使您能够

Spring 中 ApplicationContext 和 BeanFactory 的区别,以及 Spring bean 作用域

//从ApplicationContext 中取 bean ApplicationContext ac = new ClassPathXmlApplicationContext ( "com/hsp/beans.xml" ) ; ac.getBean("beanId"); 当我们去实例化beans.xml,该文件中配置的 bean 就被实例化(不论你用还是不用,bean对象都在那),而且该对象是singleton单例的.(每个bean都有scope属性,可以人为的设