gpt4 book ai didi

java - 将 spring bean 注入(inject)未由 spring 实例化的类中

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

我有一个名为 FileReader 的类,每次生成新文件时我都会显式实例化该类。我想要一个集中管理的单例 ExecutorService,每次实例化它时都会将其插入到 FileReader 中。这个executorservice是一个由Spring管理的单例。我想知道是否可以在显式创建 FileReader 的每个新实例中将其注入(inject)(使用 Autowiring 或类似的东西)(使用类似 FileReader fr = new FileReader() 的东西)

最佳答案

您可以查看dependency injection of domain objects with Spring ,方法是相同的。不过,您需要为您的项目启用加载时编织。

如果您不打算经常做这种事情,我建议:

  • 手动注入(inject),如@JB Nizet 上面评论,或
  • 将 FileReader 定义为原型(prototype) bean,并将 new FileReader() 实例更改为 applicationContext.getBean("fileReader") 或等效项。然后你可以通过“普通”Spring 将你想要的任何内容注入(inject)到 FileReader 中。就我个人而言,我会将 getBean() 调用封装在 FileReaderFactory 中,以避免我的业务类中对 Spring 的硬依赖。

关于java - 将 spring bean 注入(inject)未由 spring 实例化的类中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24620078/

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