千家信息网

Spring装配Bean---使用xml配置

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,声明BeanSpring配置文件的根元素是.在元素内,你可以放所有的Spring配置信息,包括元素的声明.除了Beans命名空间,Spring的核心框架总共自带了10个命名空间配置:命名空间用途aop
千家信息网最后更新 2025年01月19日Spring装配Bean---使用xml配置

声明Bean

Spring配置文件的根元素是.

元素内,你可以放所有的Spring配置信息,包括元素的声明.

除了Beans命名空间,Spring的核心框架总共自带了10个命名空间配置:

命名空间用途
aop为声明切面以及将@AspectJ注解的类代理为Spring切面提供了配置元素
beans支持声明Bean和装配Bean,是Spring最核心也是最原始的命名空间
context为配置Spring应用上下文提供了配置元素,包括自动检测和装配Bean,注入非Spring直接管理的对象
jee提供了与Java EE API的集成,例如JNDI和EJB
jms为声明消息驱动的POJO提供了配置元素
lang支持配置由Groovy、JRuby、BeanShell等脚本实现的Bean
mvc启用SpringMVC的能力,例如面向注解的控制器、视图控制器和拦截器
oxm支持Spring的对象到xml配置的映射
tx提供声明式事物配置
util提供各种各样的工具类元素,包括把集合配置为Bean,支持属性占位符元素

xml结构如下:

     ......     ......

基于构造函数注入

使用元素。如果不配置元素,那么Spring将使用默认的构造函数。

          

通过工厂方法创建Bean

元素有一个factory-method属性,允许我们调用一个指定的静态方法,从而代替构造函数来创建一个类的实例

配置Bean的作用域

元素有一个scope属性,允许我们指定Bean的作用域,Bean的作用域主要有一下几种,默作用域为单例singleton

作用域定义
singleton在每一个Spring容器中,一个Bean定义只有一个对象实例(默认)
prototype允许Bean的定义可以被实例化任意次(每次调用都创建一个实例)
request在一次HTTP请求中,每个Bean定义对应一个实例。该作用域仅在基于Web的Spring上下文(例如SpringMVC)中才有效
session在一个HTTP Session中,每个Bean定义对应一个实例。该作用域仅在基于Web的Spring上下文(例如SpringMVC)中才有效
global-session在一个全局HTTP Session中,每个Bean定义对应一个实例。该作用域仅在Portlet上下文中才有效

配置Bean的初始化和销毁方法

Spring提供了Bean生命周期的钩子方法。

为Bean定义初始化和销毁操作,只需要使用init-method和destroy-method参数来配置元素。init-method属性指定了在初始化Bean时要调用的方法;destroy-method属性指定了Bean从容器移除之前要调用的方法。


<
bean id="auditorium" class="com.wjx.betalot.impl.Auditorium" init-method="applause" destroy-method="applause"/>

使用元素的default-init-method和default-destroy-method属性配置所有共同默认的初始化方法和销毁方法

    ...    

注入Bean的属性

使用元素。value填充基础类型值,ref填充引用

          

装配集合属性,Spring提供了4种类型的集合配置属性

                                                                                    POEM3            POEM2            POEM1                                                                                                                                    

装配空值

除了元素配置属性外,使用spring的命名空间p也可以装配属性,当然你得在元素中先引入命名空间p

          


0