Включите компонент, созданный с помощью аннотации к автоконфигурации.JAVA

Программисты JAVA общаются здесь
Anonymous
Включите компонент, созданный с помощью аннотации к автоконфигурации.

Сообщение Anonymous »

Я работаю над проектом с несколькими проектами Spring Boot. У меня есть один «общий» проект, который является зависимостью, используемой другими проектами. Внутри этого общего проекта я создал класс @AutoConfiguration, в котором определяю некоторые bean-компоненты, которые должны быть доступны другим проектам-потребителям. Этот класс AutoConfiguration включен в файл META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports.
Теперь проблема в том, что у меня есть динамически создаваемый луч/класс. По сути, я использую проприетарную библиотеку, которая творит чудеса (я не знаю, как именно она работает внутри). Что-то вроде

Код: Выделить всё

@Commands
public interface MyCommands {
@Action(...)
void myFirstAction(...);
}
Тогда его можно будет сделать доступным для других bean-компонентов, которым он требуется:

Код: Выделить всё

@Component
public class MyComponent {
MyCommands commands;

public MyComponent(MyCommands commands) {
this.commands = commands;
}

public void doSomething() {
commands.myFirstAction();
}
}
Но я бы хотел сделать эти MyCommands общими и включить их в AutoConfiguration. На самом деле этого ожидает один из компонентов, определенных в классе AutoConfiguration:

Код: Выделить всё

@AutoConfiguration
public class CommonConfiguration {
@Bean
public CommonHelper commonHelper(MyCommands commands) {
return new CommonHelper(commands);
}
}
Но это не работает. Проекты-потребители жалуются, что компонент типа MyCommands не найден. Есть ли у вас идеи, как это сделать?

Подробнее: https://stackoverflow.com/questions/799 ... figuration

Вернуться в «JAVA»