我有一个名为FileReader的类,每次生成新文件时都会显式实例化。我希望有一个集中管理的单例ExecutorService,每次实例化它时都会插入到FileReader中。这个执行器服务是由Spring管理的单例。我想知道是否有可能在FileReader的每个新实例中注入它(使用自动装配或类似的东西),因为我显式创建它(使用类似FileReader fr = new FileReader())
答案 0 :(得分:1)
您可以查看dependency injection of domain objects with Spring,方法是一样的。但是,您需要为项目启用加载时编织。
如果你不打算经常做这种事情,我建议:
new FileReader()
次出现更改为applicationContext.getBean("fileReader")
或等效。然后你可以通过“普通”Spring将你想要的任何东西注入FileReader
。我个人会在getBean()
中封装FileReaderFactory
调用,以避免在我的业务类中对Spring的硬依赖。