类注解存储Bean的命名问题

在使用类注解存储Bean后,在获取Bean对象时,Bean对象的命名是怎样的呢?为什么有时候我们输入类型的小写可以获取到,为什么有的时候这样做获取不到呢?

Teacher teacher = context.getBean("teacher",Teacher.class);

如上述代码所示,当类名的首字母大写,第二个字母小写的时候,默认类名首字母小写就能获取到Bean对象。

如“Teacher”类使用teacher对象名可以获取到;


UConfig uConfig = context.getBean("uConfig",UConfig.class);

此时这种写法就无法获取到Bean对象了,这是为什么呢?

查看一下Bean生成名称的源代码:

类注解存储Bean的命名问题_第1张图片

所以,关于“UConfig”类Bean对象的获取应该是:

 

UConfig uConfig = context.getBean("UConfig",UConfig.class);

总结:

如果首字母是大写,第二个字母是小写,那么Bean的名称就是类名小写;

如果不满足首字母大写和第二个字母小写的情况,那么Bean的名称就为原类名

你可能感兴趣的:(java,前端,开发语言)