java - 创建自定义作用域时如何初始化 bean

标签 java spring

我为 Spring 配置定义了一个自定义范围,我想在创建自定义范围后“立即”初始化一些 bean。目前我的 bean 尚未初始化,因为当作用域准备就绪时,可能没有在正确的时间调用它。

“myScope”是通过 Java 代码创建的。

<bean id="myAdvice" class="com.myclass" scope="myScope">
 <property name="name1" ref="ref1" />     
</bean>

最佳答案

"myScope" is created through Java code.

那么要么切换到 XML 要么切换到 Java-based configuration 。如果这样做,您的范围可以有 lifecycle callback methods ,实现InitializingBean等

如果不这样做,您必须在初始化作用域时以编程方式自己完成所有操作。您将使用 applicationContext.getAutowireCapableBeanfactory() 并使用 AutowireCapableBeanFactory手动连接范围,使用类似 AutowireCapableBeanFactory.initializeBean(Object, String)后处理作用域(还将执行任何已注册的生命周期回调)。

关于java - 创建自定义作用域时如何初始化 bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8357130/

相关文章:

Java写入关闭的输出流不抛出ioexception

java - 如何使用 java 和 tomcat 在本地将 war 作为 Web 服务运行?

java - ROOM Android SQLite 数据库 - 无法创建表

java - 随机找不到类路径资源

java - 移动客户端登录Spring REST服务器

java - 在 Java 中实现 BFS

java - Scala 解析器组合器与 ANTLR/Java 生成的解析器?

spring - Spring-xd Stream正在将空文件写入我的HDFS

java - 使用 SPRING BOOT 时如何在 RequestParams 中保留 ISO 8601 日期格式

java - spring属性解析器如何工作?