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结构如下:
<?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>
基于构造函数注入
使用<constructor-arg>元素。如果不配置<constructor-arg>元素,那么Spring将使用默认的构造函数。
<!-- 诗 --><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>
通过工厂方法创建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>共同默认的初始化方法和销毁方法
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。