gpt4 book ai didi

spring - 是否可以在不使用 ApplicationContextAware 的情况下检索具有原型(prototype)范围的 Spring bean

转载 作者:行者123 更新时间:2023-12-04 21:46:03 24 4
gpt4 key购买 nike

使用 Spring 3.1。如果我想检索一个具有原型(prototype)范围的 bean(即我每次都想要一个不同的类实例),是否可以在不必使用 ApplicationContextaware 类的情况下检索 bean?

这就是我目前的做法

@Component
@Qualifier("MyService")
public class MyServiceImpl implements MyService {

@Override
public void doSomething() {
Blah blah = (Blah)ApplicationContextProvider.getContext().getBean("blah");
blah.setThing("thing");
blah.doSomething();
}
}


@Component("blah")
@Scope("prototype")
public class Blah {
....
}

其中 ApplicationContextProvider 实现了 ApplicationContextAware。

是否可以通过注释或简单的 Spring 配置来做到这一点,而不必使用 ApplicationContextAware 类?

最佳答案

Spring有一些相当复杂的方法来实现你所追求的……

请参阅 Spring 文档:http://static.springsource.org/spring/docs/3.1.x/spring-framework-reference/html/beans.html#beans-factory-scopes-other-injection

在谷歌上搜索 spring 代理范围也抛出了一些结果......

关于spring - 是否可以在不使用 ApplicationContextAware 的情况下检索具有原型(prototype)范围的 Spring bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14156278/

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