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

发布时间:2020-09-18 04:37:09 来源:51CTO 阅读:505 作者:sshpp 栏目:网络安全

声明Bean

Spring配置文件的根元素是<beans>.

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

除了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---使用xml配置

<?xml version="1.0" encoding="UTF-8" ?><beans xmlns="http://www.springframework.org/schema/beans"        xmlns:p="http://www.springframework.org/schema/p"        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"        xsi:schemaLocation="http://www.springframework.org/schema/beans        ">      <bean id="" class="">......</bean>      <bean id="" class="">......</bean></beans>

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

基于构造函数注入

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

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

<!-- 诗 --><bean id="poem" class="com.wjx.betalot.impl.Sonnet">      <constructor-arg value="Sonnet poem"></constructor-arg></bean><!-- 诗人 --><bean id="poet" class="com.wjx.betalot.impl.Joe">      <constructor-arg ref="poem"></constructor-arg></bean>

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

通过工厂方法创建Bean

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

<bean id="stage"  class="com.wjx.betalot.impl.Stage" factory-method="getInstance" />配置Bean的作用域

<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 id="poem" class="com.wjx.betalot.impl.Sonnet" scope="prototype">配置Bean的初始化和销毁方法

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

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

<!-- 观众看表演,表演开始前鼓掌欢迎,表演结束鼓掌 -->
<
bean id="auditorium" class="com.wjx.betalot.impl.Auditorium" init-method="applause" destroy-method="applause"/>

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

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。