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

符号 阅读:211 2021-07-15 18:37:32 评论:0

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

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

0. 目录

  1. Spring命名空间
  2. Bean作用域

1. Spring命名空间

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

命名空间 用途
aop [email protected]提供了配置元素
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定义对应一个实例

标签:Spring
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

发表评论
搜索
排行榜
KIKK导航

KIKK导航

关注我们