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- ...
随机推荐
- [LeetCode#247] Strobogrammatic Number II
Problem: A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked a ...
- 基于XMPP的即时通信系统的建立(一)— XMPP基础概念
相关背景 IM(Instant Messaging)正在被广泛使用,特别是公司与它们的客户互动连接方案以及互联网与Web2.0相关的应用.为了解决即时通信的标准问题,IETF(互联网工程任务组 The ...
- BrowserSync,调试利器--自动刷新(转
---恢复内容开始--- 请想象这样一个场面:你开着两个显示器,一边是IDE里的代码,另一边是浏览器里的你正在开发的应用.此时桌上还放着你的手机,手机里也是这个开发中的应用.然后,你新写了一小段代码, ...
- 【C#学习笔记】获得本机IP
using System; using System.Net; namespace ConsoleApplication { class Program { static void Main(stri ...
- 【C#学习笔记】smtp发邮件
using System; using System.Net; using System.Net.Mail; using System.Text; namespace ConsoleApplicati ...
- operator.itemgetter的用法【转】
operator.itemgetter函数 operator模块提供的itemgetter函数用于获取对象的哪些维的数据,参数为一些序号(即需要获取的数据在对象中的序号),下面看例子. a = [,, ...
- pl/sql developer 连接本地ORACLE 11g 64位数据库
1.登录PL/SQL Developer 这里省略Oracle数据库和PL/SQL Developer的安装步骤,注意在安装PL/SQL Developer软件时,不要安装在Program Files ...
- FastDFS总结
前言 FastDFS主要解决互联网中小文件存储存储问题,例如图片,短视频,提供上传和下载功能,轻量级的设计,结构非常简单,主要包含三个角色客户端,Tracer服务,Storage服务.Tracer服务 ...
- getView 数据最后加一项
if (position != count-1) { viewHolder.imgLineEnd.setVisibility(View.GONE); } else { viewH ...
- Oracle中表结构和表内容复制
处理该问题注意以下几点: 1. 清空表中数据SQL:truncate table table_name; 2.复制表结构SQL:create table table_name1 as select * ...