温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring中怎么获取bean

发布时间:2021-08-02 17:30:49 来源:亿速云 阅读:727 作者:Leah 栏目:开发技术

Spring中怎么获取bean,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Spring 中bean的获取

1.通过context.getbean 的方式来获取bean
ApplicationContext:是spring继BeanFactory之外的另一个核心接口或容器,允许容器通过应用程序上下文环境创建、获取、管理bean。也就是Spring中的所有的bean都是在这里管理的。
Spring中怎么获取bean

那么通过可以通过context.getbean 的方式来获取bean的时候、如何填写要获取的bean的名字呢?也就是spring容器如何给注册到容器中的bean命名呢?

AnnotationBeanNameGenerator调用的是buildDefaultBeanName 方法

Spring中怎么获取bean

Spring中怎么获取bean

buildDefaultBeanName方法调用的是Introspector.decapitalize方法、也就是Introspector类中的decapitalize方法、这是JDK1.8的函数。命名的规则就是如果传入的类的名字的长度大于1的话、如果第一个和第二个字母都是大写的话、那么就返回类的名字、否则就将类的名字的首字母变为小写的字母返回.

Spring中怎么获取bean

我们可以调用这个函数来做测试:

Spring中怎么获取bean

当传入的String是User、USer、USER 、 user的时候分别返回的是user、USer、USER、user、结果也是符合我们的预期的

Spring中怎么获取bean

2.通过类型来获取注册到Spring容器中的bean
LoginController loginController1 = context.getBean(LoginController.class);
Spring中怎么获取bean
Spring中怎么获取bean

两者从Spring容器中获取的bean是同一个bean

3.也可以使用这两个注解来取出对象、也就是将这两个对象作为另外一个对象的属性的时候、可以使用这两个注解来实现取bean。
@Autowired
@Resource
Spring中怎么获取bean
使用这三种的方式获取到的bean都是同一个bean。
Spring中怎么获取bean

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI