欢迎来到代码驿站!

JAVA代码

当前位置:首页 > 软件编程 > JAVA代码

带你了解Spring中bean的获取

时间:2022-02-04 08:54:29|栏目:JAVA代码|点击:

Spring 中bean的获取

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

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

AnnotationBeanNameGenerator调用的是buildDefaultBeanName 方法

在这里插入图片描述

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

2.通过类型来获取注册到Spring容器中的bean
LoginController loginController1 = context.getBean(LoginController.class);
在这里插入图片描述
在这里插入图片描述

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

3.也可以使用这两个注解来取出对象、也就是将这两个对象作为另外一个对象的属性的时候、可以使用这两个注解来实现取bean。
@Autowired
@Resource
在这里插入图片描述
使用这三种的方式获取到的bean都是同一个bean。
在这里插入图片描述

总结

上一篇:基于@RequestMapping 用法详解之地址映射

栏    目:JAVA代码

下一篇:spring security认证异常后返回中文提示的问题

本文标题:带你了解Spring中bean的获取

本文地址:http://www.codeinn.net/misctech/192372.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有