文档章节

Spring:Bean的别名(name)和作用域(scope属性)

蜡笔小小小新
 蜡笔小小小新
发布于 2015/03/14 21:15
字数 293
阅读 37
收藏 0
点赞 0
评论 0
package exm.spring.bean;

public class User {
	
	private String name;
	
	private String password;

	public User() {
		super();
		// TODO Auto-generated constructor stub
	}

	public User(String name, String password) {
		super();
		this.name = name;
		this.password = password;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}

	public String getPassword() {
		return password;
	}

	public void setPassword(String password) {
		this.password = password;
	}

}

//测试类
package exm.spring.bean;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
	
	@org.junit.Test
	public void test()
	{
		ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
		
		User user1 = ac.getBean("user", User.class);
		User user2 = ac.getBean("/auser", User.class);
		User user3 = ac.getBean("/myuser", User.class);
		
		System.out.println(user1);
		System.out.println(user2);
		System.out.println(user3);
		
		User scopeUser1 = ac.getBean("scopeUser", User.class);
		User scopeUser2 = ac.getBean("scopeUser", User.class);
		
		System.out.println(scopeUser1 == scopeUser2);
	}

}

<!-- 配置文件 -->
<?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的别名:下面两段配置的bean会有三个名字:
        		user
        		/auser
        		/myuser
         -->
        <bean id="user" name="/auser" class="exm.spring.bean.User"></bean>
        
        <alias name="user" alias="/myuser"/>
        
        <!-- bean的作用域有:
        		1、session:web应用中用来放用户登录信息
        		2、request:bean在web应用中在请求响应时存活,是prototype的特例
        		3、prototype:一次创建一个bean,以后由这个bean的请求方管理它的生命周期
        		4、singleton:和spring容器有共同的生命周期
         -->
         <bean id="scopeUser" class="exm.spring.bean.User" scope="prototype"></bean>
        
</beans>


© 著作权归作者所有

共有 人打赏支持
蜡笔小小小新
粉丝 32
博文 114
码字总数 75210
作品 0
深圳
后端工程师
Spring温故而知新 - bean的装配

按条件装配bean 就是当满足特定的条件时Spring容器才创建Bean,Spring中通过@Conditional注解来实现条件化配置bean package com.sl.ioc;import org.springframework.context.annotation.Bean;...

Java-老刘
05/07
0
0
Spring Bean配置默认为单实例 pring Bean生命

Bean默认的是单例的. 如果不想单例需要如下配置: <bean id="user" class="..." singleton="false"/> singleton就是配置这个bean是否是单例的,如果不写,就是默认值true。 注解: spring B...

西行侠客
2014/08/30
0
0
SpringFramework核心技术一(IOC:Bean的范围)

Bean的范围 当你创建一个bean定义时,你创建一个配方来创建由该bean定义定义的类的实际实例。bean定义是一个配方的想法很重要,因为它意味着,就像一个类一样,您可以从一个配方创建许多对象...

王木东
05/20
0
0
spring入门--bean继承和自动装配

bean的自动装配 byName 根据bean的名字(id)和当前bean的setter属性名称自动匹配,匹配不到则不匹配 byType 根据bean的类型和当前bean的属性类型匹配,若IOC容器有1个以上的bean匹配类型,则...

sunny_92
2017/11/12
0
0
Spring scope作用域详解

今天同事有个问题,XXaction继承了BaseAction, 只是在服务器启动时访问了,请求时没有访问父类的构造函数的问题,看了下是spring配置文件中action配置中scope的属性没有设置导致的。借此把s...

wsl_Mr
2013/07/24
0
0
SpringFramework核心技术一(IOC:Bean的分析)

Bean的概述 Spring IoC容器管理一个或多个bean。这些bean是使用您提供给容器的配置元数据创建的,例如,以XML 定义的形式 。 在容器本身中,这些bean定义被表示为BeanDefinition 对象,其中包...

王木东
05/13
0
0
Spring容器中Bean的作用域

当通过Spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域: singleton:单例模式,在整个Spring IoC容器中,使用singl...

摆渡者
2014/02/26
0
1
Spring Bean Scope

Spring Bean Scope 简单的解释一下bean 的scope singleton 当一个bean的作用域设置为singleton, 那么Spring IOC容器中只会存在一个共享的bean实例,并且所有对bean的请求,只要id与该bean定义...

秋风醉了
2014/11/26
0
0
Spring对注解(Annotation)处理源码分析1——扫描和读取Bean定义

1.从Spring2.0以后的版本中,Spring也引入了基于注解(Annotation)方式的配置,注解(Annotation)是JDK1.5中引入的一个新特性,用于简化Bean的配置,某些场合可以取代XML配置文件。开发人员对注...

李长春
2011/10/08
0
0
Spring中关于bean的作用域与生命周期

在Spring中,那些组成应用程序的主体及由Spring IoC容器所管理的对象,被称之为bean。简单地讲,bean就是由IoC容器初始化、装配及管理的对象,除此之外,bean就与应用程序中的其他对象没有什...

忻胜霄
06/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

4 个快速的 Python 编译器 for 2018

简评:Python 和其他的解释型语言一样经常被吐槽性能不行,所以开发人员为了提升性能创建了不少编译器,本文则选取其中的四个做了基准测试。 Python 其实是一种相当快的语言,但它并不像编译...

极光推送
9分钟前
0
0
SSO CAS单点登录搭建详细步骤及源码

1.因为是本地模拟sso环境,而sso的环境测试需要域名,所以需要虚拟几个域名出来,步骤如下: 2.进入目录C:\Windows\System32\drivers\etc 3.修改hosts文件 127.0.0.1 jeesz.cn 127.0.0.1 sso...

明理萝
9分钟前
0
1
spring boot注册多个MQ服务器的问题

关于注册到多个MQ源的文章已经有很多了,这里记录一下声明queue的坑; 如果使用注册bean的方式声明queue,会导致声明的queue同时被注册到所有的MQ源上; //如果使用下面的声明方式,que...

placeholder
10分钟前
0
0
Java面试基础篇——第九篇:BIO,NIO,AIO的区别

现在IO模型主要分三类:BIO(同步阻塞IO),NIO(同步非阻塞IO),AIO()。 先来看看BIO。 1. BIO 服务端接受到请求后,要指派或新建一个线程去处理客户端的IO请求,直到收到断开连接的指令。这么做...

developlee的潇洒人生
15分钟前
0
0
@RequestMapping @ResponseBody 和 @RequestBody 用法与区别

1.@RequestMapping 国际惯例先介绍什么是@RequestMapping,@RequestMapping 是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为...

特拉仔
17分钟前
1
0
基于 HTML5 结合互联网+ 的 3D 隧道

前言 目前,物资采购和人力成本是隧道业发展的两大瓶颈。比如依靠民间借贷,融资成本很高;采购价格不透明,没有增值税发票;还有项目管控和供应链管理的问题。成本在不断上升,利润在不断下...

xhload3d
19分钟前
0
0
济南小程序热度分析

原文链接:http://www.jnqianle.cn/company/2072.html

tianma3798
20分钟前
1
0
大数据软件

beats 采集 kafka spark hive es grafana zeppelin

ArlenXu
22分钟前
0
0
Mac item2常用快捷键

标签 新建标签:command + t 关闭标签:command + w 切换标签:command + 数字 command + 左右方向键 切换全屏:command + enter 查找:command + f 分屏 水平分屏:command + d 垂直分屏:c...

说回答
25分钟前
0
0
mac常用软件

1.excel for mac http://www.pc6.com/mac/114205.html

小黑202
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部