Невозможно импортировать класс конфигурации пружины из проекта A в проект B - PullRequest
0 голосов
/ 11 ноября 2018

У меня есть классы ниже в проекте A , который является весенним проектом

@Configuration
class MyConfig{
   @Bean
   JmsTemplate jmsTemplate(){
       return  new JmsTemplate();
   }

   @Bean
   Test test(){
       return new Test();
   }
}

class Test{
   @Autowired
   JmsTemplate jmsTemplate;

   @PostConstuct
   public void init(){
      System.out.println("Test Constructed")
   }

   public void sendOrder(){
      System.out.println("Sending Order");
   }
}

А у меня ниже в Проект Б

@SpringBootApplication
class MySpringBootApp{

    public static void main(String[] args){
     final SpringApplication app = new SpringApplication(MainConfig.class);
     app.run(args);
    }
}

@Configuration
@Import(MyConfig.class)
class MainConfig implements CommandLineRunner{

   @Autowired 
   Test test;

   @Override
   public void run(String... strings) throws Exception{
      System.out.println("Placing order");
      test.sendOrder()
   } 
}

Я включил проект A в pom проекта B как зависимость

Не выводится ни SYS OUT из пост-конструкции, ни sendOrder из класса Test. Выводится SYS OUT в методе run из MainConfig. Я не уверен, включен ли класс MyConfig из проекта A в проект B. Нет ошибок компиляции или времени выполнения. Любые лиды оценили

1 Ответ

0 голосов
/ 11 ноября 2018

Я думаю, что проблема в основном классе. Вы забыли включить само приложение весенней загрузки (в данном случае MySpringBootApp.class) в список конфигурации.

Должно быть:

@SpringBootApplication
class MySpringBootApp{

 public static void main(String[] args){
  final SpringApplication app = new 
           SpringApplication(MySpringBootApp.class,MainConfig.class);
  app.run(args);
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...