会员可以在此提问,百战程序员老师有问必答
对大家有帮助的问答会被标记为“推荐”
看完课程过来浏览一下别人提的问题,会帮你学得更全面
截止目前,同学们一共提了 132491个问题
WEB前端全系列/第二十四阶段:面试和成功求职的秘技/简历 29026楼

<bean id="helloword" class="HelloWord"><property name="name" value="张三"></property></bean>

以上bean的配置的解读:class="HellloWord"是通过反射获取了一个同样的类的实例.而id="helloword",则是创建了一个bean,这个bean的名称是"helloword",被IOC容器管理的对象都称为bean.之后<property name="name" value="张三"></property>就是相当于setName()方法去设置属性的值

其实以上的代码可以对应了我们常规的用new去创建一个对象是一个原理的.比如:HelloWord helloword = new HelloWord();

new HelloWord();获得一个实例化对象,以上的代码是通过反射去获得的.再把这个实例化对象赋给要新建的那个对象.以上是新建一个bean,其实也是在新建一个对象而已,id则是这个新建的对象的名称.所以原理都是一样的.

从以上的解释中,是不是。

getBean(Class<T> type)要求类型唯一,就是指只能一个类型一个对象。原因是他是根据反射实例化的对象去找新建的对象的。所以出现多个新建对象他不知道是哪一个

比如:HelloWord helloword1 = new HelloWord();

           HelloWord helloword2 = new HelloWord();

通过new HelloWord()的有两个对象,去找会出现helloword1 和helloword2两个。

 而getBean(String name,Class<T> type)

相当于 通过new HelloWord()去找名为helloword1 或者helloword2的做到一对一

是不是这样理解的(我这是把bean标签里面的抽出来类比的讲了一下思路)

JAVA 全系列/第六阶段:项目管理与SSM框架/Spring 29027楼
JAVA 全系列/第一阶段:JAVA 快速入门/JAVA入门和背景知识 29034楼
WEB前端全系列/第六阶段:Http服务与Ajax模块(旧)/Http服务与Ajax编程 29035楼
WEB前端全系列/第六阶段:Http服务与Ajax模块(旧)/Http服务与Ajax编程 29036楼
WEB前端全系列/第六阶段:Http服务与Ajax模块(旧)/Http服务与Ajax编程 29037楼
Python 全系列/第十二阶段:Python_Django3框架/Django高级 29038楼
JAVA 全系列/第二十一阶段:分布式医疗云平台/项目环境搭建(旧) 29039楼
Python 全系列/第一阶段:Python入门/序列 29040楼

课程分类

百战程序员微信公众号

百战程序员微信小程序

©2014-2025百战汇智(北京)科技有限公司 All Rights Reserved 北京亦庄经济开发区科创十四街 赛蒂国际工业园
网站维护:百战汇智(北京)科技有限公司
京公网安备 11011402011233号    京ICP备18060230号-3    营业执照    经营许可证:京B2-20212637