我是否可以使需要其通用参数Class<T>
类型作为构造函数参数的通用类在Spring中以@Bean
的形式提供?
通用类:
public class Repository<T> {
public Repository(Class<T> type) {
//...
}
}
我当前的@Bean
定义:
@Bean
public Repository<Car> carRepository() { return new Repository<>(Car.class) }
@Bean
public Repository<Garage> carRepository() { return new Repository<>(Garage.class) }
//... one for each type I require
我想要什么:
@Bean
public <T> Repository<T> genericRepository() { return new Repository<>(T.class) }
我已经研究过Spring的ResolvableType
,但似乎并不是我要的那样。有没有一种方法可以在不需要构造器参数的情况下保留T
的类?春天是否为此提供了一种机制?