gpt4 book ai didi

java - getBean() 方法在这里做什么?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:22:48 25 4
gpt4 key购买 nike

getBean() 方法在这里做什么,它在程序中如何工作?

ApplicationContext aplicntxt = new 
ClassPathXmlApplicationContext("springconfig.xml");

Hello h = (Hello) aplicntxt.getBean("springconfig.xml");
h.display();

Hello h2 = new Hello(); //if I write this
h2.display();

我的问题是为什么h2.display获取的是空值,而h.display通过springconfig.xml获取存储的值?

请告诉我是什么

ApplicationContext aplicntxt = new ClassPathXmlApplicationContext("springconfig.xml");

先做什么?

第一步是否将xml文件的所有值存储到pojo类 setter 中?

然后我们将值存储到一个对象 h通过做

Hello h = (Hello) aplicntxt.getBean("springconfig.xml");

最佳答案

您的问题本质上是“ Spring 如何工作”,official documentation 对此进行了广泛介绍

下面创建了 springconfig.xml 定义的所有 bean,即它创建给定类型的对象,并注入(inject)您定义的任何属性,根据您的具体配置,它还可能执行包扫描、注释等操作加工等

ApplicationContext aplicntxt= new ClassPathXmlApplicationContext("springconfig.xml");

XML

<bean class="org.example.Hello" id="foo" />
<bean class="org.example.Hello" id="bar" />

这将创建一个类型为 Hello 的对象并用 ID“foo”和“bar”标记它们

所有 bean 都根据它们的 ID 存储,以便以后通过 getBean() 检索,请注意,这采用 bean ID 或名称,而不是 XML 文件。

Hello h = (Hello) aplicntxt.getBean("foo");

关于java - getBean() 方法在这里做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38408014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com