gpt4 book ai didi

java - 如何创建多个Spring命名Bean实例?

转载 作者:太空宇宙 更新时间:2023-11-04 06:35:23 24 4
gpt4 key购买 nike

让我们从代码开始:

@Named
public class Dashlet implements GlobalDashlet {
private DashletContent dashletContent;
//OTHER STUFF
}

如何创建 Dashlet 类的其他实例?假设我在这个类中有一个方法,例如:

public GlobalDashlet getInstance(DashletContent content) {
Dashlet dashlet = new Dashlet();
dashlet.setDashletContent(dashletContent);
return dashlet;
}

正如您所知,上述方法不起作用,因为托管 bean 应该由 spring 实例化,否则它就不是托管 bean。那么是否可以重现托管 bean?

还有一个问题,是否可以将 e bean 附加到 spring bean 容器(以便 spring 可以管理它)?就像 hibernate 中的合并功能一样?

最佳答案

如果你想附加到spring框架,你可以使用原型(prototype)作用域:

http://docs.spring.io/spring/docs/current/spring-framework-reference/html/beans.html#beans-factory-scopes-prototype

XML 配置示例:

<bean id="accountService" class="com.foo.DefaultAccountService" scope="prototype"/>

javaConf 配置示例:

@Configuration
public class AppConfig {
@Bean
@Scope("prototype")
public Foo foo() {
return new Foo();
}
}

关于java - 如何创建多个Spring命名Bean实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25481604/

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