gpt4 book ai didi

java - Spring Container 会调用 bean 的构造函数吗?如果没有,如何使用 "new"关键字将字段初始化为新实例?

转载 作者:行者123 更新时间:2023-12-04 05:43:02 25 4
gpt4 key购买 nike

我有一堂这样的课——

class Messages
{
...
LinkedList<String> inputs;
LinkedList<String> outputs;
...
}

通常,我会在构造函数中初始化输入和输出 -
public Messages()
{
inputs = new LinkedList<String>();
outputs = new LinkedList<String>();
}

但是,我想使用 Spring 配置实现相同的结果。那么我应该在下面的节点下放什么?
<bean id="Messages" class="com.somename.Messages">
<--- what goes here?
</bean>

当 Spring Container 创建“Messages”bean 时,它还会调用构造函数吗?

最佳答案

是的,它会调用构造函数。 IoC 容器不调用构造函数是非常奇怪的——它必须花费一定的时间来构造对象的实例而不通过构造函数,这几乎总是一个坏主意。

当然,您也可以将变量初始化为声明的一部分:

class Messages
{
...
private final LinkedList<String> inputs = new LinkedList<String>();
private final LinkedList<String> outputs = new LinkedList<String>();
...
}

关于java - Spring Container 会调用 bean 的构造函数吗?如果没有,如何使用 "new"关键字将字段初始化为新实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11021423/

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