java bean id_spring in action 学习笔记六:bean在不同情况下的默认id号或者将名字

bean如果不知名id是什么它一般都有一个id或者讲名字。

第一种情况:组件扫描的情况:默认的id号或者bean的name是类名的首字母小写。

代码如下:

1 packagecom.qls.beanlife2;2

3 importorg.springframework.beans.factory.BeanNameAware;4 importorg.springframework.stereotype.Component;5

6 /**

7 * Created by ${秦林森} on 2017/6/7.8 */

9 @Component

//BeanNameAware这个接口可以获取bean的名字。

10 public class Teacher implementsBeanNameAware {11 @Override12 public voidsetBeanName(String name){13 System.out.println("the Teacher bean name is : "+name);14 }15 }

第二种情况:是基于javaConfig显示配置bean时:这个时候bean默认的名字是与方法名相同。

代码如下:

package com.qls.laowei;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

/**

* Created by ${秦林森} on 2017/6/8.

*/

@Configuration

public class OrderConfig {

@Bean

public Rice getRice(){

return new Rice();

}

}

Rice类的代码如下:

1 packagecom.qls.laowei;2

3 importorg.springframework.beans.factory.BeanNameAware;4 importorg.springframework.stereotype.Component;5

6 importjava.util.List;7 importjava.util.Map;8 importjava.util.Set;9

10 /**

11 * Created by ${秦林森} on 2017/6/7.12 */

13 public class Rice implementsBeanNameAware{14

15 @Override16 public voidsetBeanName(String name) {17 System.out.println("the rice's bean name is : "+name);18 }19

20 }

检验bean的名字为方法名getRice代码如下:

package com.qls.test;

import com.qls.laowei.OrderConfig;

import com.qls.laowei.Rice;

import org.springframework.context.annotation.AnnotationConfigApplicationContext;

/**

* Created by ${秦林森} on 2017/6/8.

*/

public class Test5 {

public static void main(String[] args) {

AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(OrderConfig.class);

Rice rice = ac.getBean(Rice.class);

}

}/**output:

the rice's bean name is : getRice

*/

从上面的输出结果可以看到bean在javaConfig的显性配置下即用@Bean的注解的情况下bean的名字为其方法名。

第三种情况:

在配置文件xml中的配置:

这个bean的id号默认是com.qls.Hello#0即(包名.类名#自然数)

这个默认id的证明思路与上述两种情况一样,故不赘述。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值