Im new to Spring, последние пару дней. Я узнал об этом. Теперь я пытаюсь что-то с этим сделать. Мне кажется, что с весенним ботинком все изменилось. Нет файла applicationContext, я должен использовать @Bean. ОК. В учебниках код работает, для меня это терпит неудачу. Что я упустил?Весенняя загрузка зависимой инъекции
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
контроллер:
@RestController
public class GreetingController {
private final Test test;
@Autowired
public GreetingController(Test test){
this.test = test;
}
@RequestMapping("/greeting")
public String greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
return "greeting" + test.getTest();
}
}
class Test {
public String getTest() {
return "tetst";
}
}
ошибка:
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [hello.Test] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {}
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1301)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1047)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:942)
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:813)
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:741)
... 18 more
Я предполагаю, что боб должен быть определен ... Но в учебниках нет defenicion боба .. Или я не видел.
В каком пакете есть 'приложение' и' GreetingController'? '@ SpringBootApplication' сканирует контроллеры и компоненты, но они должны быть в одном пакете или на более низком уровне. – spencergibb