我创建了一个提供一组类的小框架:
class MyExecuter<T extends MyClass>
class MyService<T extends MyClass>
class MyPaginationService<T extends MyClass>
到目前为止,使用该库的任何人都必须将这些类作为明确的bean提供:
@Bean
public MyExecuter<ImplClass> getExecuter() {
return new MyExecuter<ImplClass>();
}
//repeat for all other classes
public class ImplClass extends MyClass
大多数类只包含逻辑构造,只需知道实现的类型参数即可。所有类的type参数都是相同的。
现在,如果用户可以提供类型,例如ImplClass.class
,则会更简单,并且自动上面提到的所有服务将自动连接并使用提供的类进行实例化。不强制用户提供@Bean
显式的特定字符串类型。
这可能吗?如果是,怎么样?