Допустим, у меня есть следующий класс конфигурации следующим образом:
@Configuration
class Config{
@Autowired F factory;
@Bean
public S stream(){
return new S(factory);
}
@Bean
public M model(@Autowired S stream){
return new M'(stream);
}
}
У меня много этих конфигураций.Один для каждой "модели", которую я строю.Каждая конфигурация имеет фабрику, поток и конечную модель.
При добавлении нового файла конфигурации, подобного этому, я хочу во время компиляции проверить, что при использовании модели типа M 'я такжеиспользуйте поток, который использует фабрику типа F '.
Я думаю, что я могу легко сделать это, имея дополнительный параметр в конструкторе M', который потребует F '.Но, IMO, это будет ужасно, поскольку M 'вообще не использует фабрику ...
Есть мысли об элегантном способе форсировать это во время компиляции?