Java 弹簧注射问题
我有一个静态类Java 弹簧注射问题,java,spring,dependency-injection,Java,Spring,Dependency Injection,我有一个静态类ResourceFetcher,带有一个静态方法fetchResource(字符串引用)。我想将它返回的资源注入另一个类JobRunner。有人能指定最干净的方法吗 我不想将ResourceFetcher传递到JobRunner。事实上,我有一个带有一组键的enum,我需要将键值对的映射传递到JobRunner,其中的值是通过调用fetchResource获得的 我想澄清的一点是,ResourceFetcherclass'fetchResource返回类型为String 提前感谢。
ResourceFetcher
,带有一个静态方法fetchResource(字符串引用)
。我想将它返回的资源注入另一个类JobRunner
。有人能指定最干净的方法吗
我不想将ResourceFetcher
传递到JobRunner
。事实上,我有一个带有一组键的enum
,我需要将键值对的映射传递到JobRunner
,其中的值是通过调用fetchResource
获得的
我想澄清的一点是,ResourceFetcher
class'fetchResource
返回类型为String
提前感谢。如果ResourceFetcher上的
fetchResource
方法是静态的,为什么JobRunner不能简单地引用它呢?我认为没有必要注入ResourceFetcher。
<bean id="resource" class="com.x.y.ResourceFetcher" factory-method="fetchResource">
<constructor-arg value="someReference"/>
</bean>
然后,您可以将
资源
注入到JobRunner
bean中。太好了。这也是我所期待的。如果工厂方法返回的对象不是ResourceFetcher类的类型,该怎么办?@Kurioskat:bean类型将是该方法返回的任何类型,而ResourceFetcher
的类型与结果无关。如果ResourceFetcher想将类路径中的10个sql文件转换为sql字符串,这将是一种通用的方法?确切地说,我在JobRunner-MapQueryTempl中有一个静态映射,其中sql查询从ResourceFetcher获取的每个值都是字符串。我想知道这是不是一种正确的方式。