Spring4-容器2-bean的命名

1 命名规则

(1)每个bean都有一个或多个标识符,这些bean的标识符在它所在的容器中必须唯一。

(2)基于xml的配置元数据中,你可以使用id 或(和) name 属性来指定bean的标识符,用 name 属性指定的值通常又称为别名。

(3) id属性只允许指定一个值,name属性可以允许指定多个值,可以使用逗号(,),分号(;)或者空格来分割这些值。

(4)bean的id和name不是必须的。如果没有明确的name或者id,容易会给bean生成一个唯一的名字。

(5)id只能在定义Bean的时候定义,别名可以在定义的Bean的时候指定,也可以通过<alias/>元素来完成bean别名的定义

2 命名示例

2.1 示例准备-User类

package com.ws.edu.spring;

public class User {
	private int id;
	private String name;
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public User() {
		super();
	}
	public User(int id, String name) {
		super();
		this.id = id;
		this.name = name;
	}
	@Override
	public String toString() {
		return "User [id=" + id + ", name=" + name + "]";
	}
}

2.2 xml配置

<?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">
	<!-- 使用id属性定义唯一标识符 -->
	<bean id="user" class="com.ws.edu.spring.User" />
	<!-- 使用name属性定义唯一标识符 -->
	<bean name="user1" class="com.ws.edu.spring.User" />
	<!-- 使用name属性用逗号分隔定义多个标识符 -->
	<bean name="user2,user3" class="com.ws.edu.spring.User" />
	<!-- 使用name属性用分号分隔定义多个标识符 -->
	<bean name="user4;user5" class="com.ws.edu.spring.User" />
	<!-- 使用name属性用分号分隔定义多个标识符 -->
	<bean name="user6 user7" class="com.ws.edu.spring.User" />
	<!-- 使用alias标签定义别名 -->
	<alias name="user" alias="user8"/>
	<!-- 使用alias标签定义别名 -->
	<alias name="user1" alias="user9"/>
</beans>

2.3 启动类

package com.ws.edu.spring;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class App {
	@SuppressWarnings("resource")
	public static void main(String[] args) {
		ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");
		System.out.println(context.getBean("user",User.class));
		System.out.println(context.getBean("user1",User.class));
		System.out.println(context.getBean("user2",User.class));
		System.out.println(context.getBean("user3",User.class));
		System.out.println(context.getBean("user4",User.class));
		System.out.println(context.getBean("user5",User.class));
		System.out.println(context.getBean("user6",User.class));
		System.out.println(context.getBean("user7",User.class));
		System.out.println(context.getBean("user8",User.class));
		System.out.println(context.getBean("user9",User.class));
	}
}

2.4 测试结果

135927_7GyS_3145136.png

转载于:https://my.oschina.net/u/3145136/blog/866193

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值