Spring入门(3)-Spring命名空间与Bean作用域
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定义对应一个实例 |
Spring入门(3)-Spring命名空间与Bean作用域的更多相关文章
- Spring入门2. IoC中装配Bean
Spring入门2. IoC中装配Bean 20131125 前言: 上一节学习了Spring在JavaProject中的配置,通过配置文件利用BeanFactory和ApplicationConte ...
- Spring入门(4)-注入Bean属性
Spring入门(4)-注入Bean属性 本文介绍如何注入Bean属性,包括简单属性.引用.内部Bean.注入集合等. 0. 目录 注入简单值 注入引用 注入内部Bean 装配集合 装配空值 使用命名 ...
- Spring入门(二):自动化装配bean
Spring从两个角度来实现自动化装配: 组件扫描(component scanning):Spring会自动发现应用上下文中需要创建的bean. 自动装配(autowiring):Spring会自动 ...
- Spring课程 Spring入门篇 2-1 IOC和bean容器
课程链接: 本节讲了5部分内容,6为项目demo: 1 接口及面向接口编程 2 什么是IOC 3 Spring的bean配置 4 Bean的初始化 5 Demo 自己理解: 1 高层模块和底层模块都依 ...
- spring入门(六) spring mvc+mybatis
1.引入依赖 <!-- https://mvnrepository.com/artifact/org.mybatis/mybatis --> <dependency> < ...
- spring入门(五) spring mvc+hibernate
核心是让SessionFactory由Spring管理 1.引入依赖 <!-- https://mvnrepository.com/artifact/org.springframework/sp ...
- spring入门(四) spring mvc返回json结果
前提:已搭建好环境 1.建立Controller package com.ice.controller; import com.ice.model.Person; import org.springf ...
- spring入门(八) spring mvc设置默认首页
1.web.xml配置如下 <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3// ...
- spring入门(七) spring mvc+mybatis+generator
1.Mybatis-Generator下载 地址:https://github.com/mybatis/generator/releases 我使用的是 mybatis-generator-core- ...
随机推荐
- bzoj1566
好题,这道题体现了换一个角度计数的思想 a1^2+a2^2+……ak^2=(变成第1种输出序列的操作序列数目)^2+(变成第2种输出序列的操作序列数目)^2…… 脑洞大一点,这就相当于两个操作序列变成 ...
- angularjs指令中的compile与link函数详解(转)
http://www.jb51.net/article/58229.htm 通常大家在使用ng中的指令的时候,用的链接函数最多的是link属性,下面这篇文章将告诉大家complie,pre-link, ...
- Svn正确的使用方法
想必大家现在都比较喜欢使用svn(subversion)完成代码管理了,因为它的开源,轻巧,易用.但是这样一个宝贝如果不知道其正确的用法,也会让我们百思不得其解,甚至耽误项目进度,浪费程序员的心血和结 ...
- jQuery的威力
jQuery如此之好用,和其在获取对象时使用与CSS选择器兼容的语法有很大关系,毕竟CSS选择器大家都很熟悉(关于CSS选择器可以看看十分钟搞定CSS选择器),但其强大在兼容了CSS3的选择器,甚至多 ...
- test chemes
rcmobile://messages rcmobile://badge rcmobile://dialer rcmobile://open rcmobile://sms?type=new
- Spring学习之声明式事物管理
public List<Student> selectStudent() { Student s = new Student(); s.setName("zhengbin&quo ...
- Oracle 课程七之分析和动态采样
课程目标 完成本课程的学习后,您应该能够: •引子—统计信息的作用 •如何收集统计信息 •系统统计信息 •对象统计信息—表.字段.索引统计信息 •动态采样 统计信息的作用 Optimizer st ...
- xcode升级,报错 libxml/tree.h not found (Xcode4.6解决方案)
转:http://blog.csdn.net/yangxuanlun/article/details/8639075 Xcode升级到4.6以后,他妈的,libxml/tree.h找不到了,搞了大半天 ...
- [Everyday Mathematics]20150211 Carlson inequality
$$\bex a_n\geq 0\ra \vsm{n}a_n\leq \sqrt{\pi}\sex{\vsm{n}a_n^2}^{1/4} \sex{\vsm{n}n^2a_n^2}^{1/4}, \ ...
- 转载:C语言的谜题
转载:http://coolshell.cn/articles/945.html 这几天,本站推出了几篇关于C语言的很多文章如下所示: 语言的歧义 [酷壳链接] [CSDN链接] 谁说C语言很简单? ...