Spring:Bean的别名(name)和作用域(scope属性)
Spring:Bean的别名(name)和作用域(scope属性)
蜡笔小小小新 发表于3年前
Spring:Bean的别名(name)和作用域(scope属性)
  • 发表于 3年前
  • 阅读 21
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: Bean的别名(name)和作用域(scope属性)
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>


共有 人打赏支持
粉丝 29
博文 112
码字总数 79661
×
蜡笔小小小新
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: