您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Spring Java Config:如何使用运行时参数创建原型范围的@Bean?

Spring Java Config:如何使用运行时参数创建原型范围的@Bean?

@Configuration课堂上,@Bean像这样的方法

@Bean
@Scope("prototype")
public Thing thing(String name) {
    return new Thing(name);
}

用于注册bean定义并提供创建bean的工厂。它定义的bean仅在请求时使用直接或通过扫描确定的参数实例化ApplicationContext

对于prototypebean,每次都会创建一个新对象,因此@Bean也会执行相应的方法

你可以ApplicationContext通过的beanfactory#getBean(String name, Object... args)方法检索Bean,该方法指出

允许指定显式构造函数自变量/工厂方法自变量,覆盖Bean定义中指定的认自变量(如果有)。

参数:

如果使用静态工厂方法的显式参数创建原型,则使用args参数。在任何其他情况下,使用非null参数值都是无效的。

换句话说,对于此prototype作用域的bean,你将提供将要使用的参数,而不是在bean类的构造函数中,而是在@Bean方法调用中。

对于Spring 4+版本至少是这样。

java 2022/1/1 18:19:30 有442人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶