#spring #spring-boot
#spring #spring-загрузка
Вопрос:
@componentscan({"com.test.cloud"})
@SpringBootApplication
public class TestClass {
public static void main(String[] args) {
ApplicationContext context = SpringApplication.run(TestClass.class, args);
}
}
public class TestClass2{
@eventlistener(ApplicationReadyEvent.class)
public void testMethod() {
.....
.....
}
}
Здесь, если я удалю аннотацию @componentscan({«com.test.cloud»}), тогда запускается метод тестирования. Но когда я использую @componentscan({«com.test.cloud»}), метод тестирования не запускается.
Версия SpringBoot: 1.5.10.RELEASE
Комментарии:
1. Какова структура вашего проекта? В каком пакете
TestClass
находится?2. TestClass и TestClass2 находятся в одном базовом пакете. например, com.example.demo, но com.test.cloud — это внешняя библиотека, добавленная зависимостью.
3.
@ComponentScan
Переопределяет другой пакет, вам нужно добавить оба пакета в сканирование или определить пакет верхнего уровня, подобныйcom.test
.4. Итак, у вас должно быть что-то вроде
@componentscan({"com.test.cloud","com.example.demo"})
Ответ №1:
Работал, добавив:
@componentscan({«com.test.cloud»,»com.example.demo»})