您的位置:首页 > 编程语言 > Java开发

Spring入门(3)-Spring命名空间与Bean作用域

2015-01-02 18:51 204 查看

Spring入门(3)-Spring命名空间与Bean作用域

这篇文章主要介绍Spring的命名空间和Bean作用域

0. 目录

Spring命名空间

Bean作用域

1. Spring命名空间

在前面的文章中,Spring的配置文件中定义了beans,除了beans之外,Spring还定义了其他的命名空间,如下:

命名空间用途
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启动Spring MVC的能力,例如面向注解的控制器、视图控制器和拦截器
oxm支持Spring的对象到XML映射配置
tx提供声明式事务配置
util提供各种各样的工具类元素,包括把集合配置为Bean、支持属性占位符元素
AOP例子

<aop:aspectj-autoproxy proxy-target-class="true"/>

context例子

<context:annotation-config />

2. Bean作用域

所有的Spring Bean默认都是单例。但除了单例之外,我们可能有别的需求,比如说多个实例。在Bean的声明中,把scope设置为prototype即可,如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean  name="PersonBll" class="com.chzhao.springtest.PersonBll"
scope="prototype"></bean>
</beans>

除了prototype之外,Spring还定义了另外的作用域,如下表所示。

作用域定义
singleton单例
prototype每次调用创建一个实例
request一次http请求对应一个实例
session一个session对应一个实例
gobal-session在全局的http session中,每个bean定义对应一个实例
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐