У меня есть небольшое веб-приложение MVC с контроллером, настроенным с помощью аннотаций.Как создать весенний боб, который можно автообновить с помощью аннотаций?
Настройка xml проста.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="net.dynamic_tools.jsdependency" />
</beans>
Мой контроллер выглядит
@Controller
@RequestMapping("/*")
public class JSDependencyController {
@Autowired
private ScriptTagsJSView scriptTagsJSView;
Я получаю сообщение об ошибке не говоря
Нет соответствующих компонент типа [net.dynamic_tools.jsdependency.view.ScriptTagsJSView] найдено зависимость
Я попытался добавить аннотацию компонента к Scr itTagsJSView
@Component("scriptTagsJSView")
public class ScriptTagsJSView implements View {
не повезло. Я также попытался добавить конфигурации POJO и используя @Bean аннотацию
@Configuration
public class Config {
@Bean
public ScriptTagsJSView getScriptTagsJSView() {
return new ScriptTagsJSView();
}
Я, вероятно, отсутствует что-то довольно простое, но я не могу понять, почему это не работает. Есть идеи?
Какой пакет ScriptTagsJSView в? Пакет базового пакета компонентного поиска выполняет поиск только из пакета, который вы указываете вниз, поэтому, если этот класс находится за пределами этого пакета, он не будет отсканирован. EDIT: см. Мой ответ ниже, но также рассмотрите вышеприведенный комментарий. – Jberg
Спасибо за ваш ввод. Оцените усилия. Оказывается, проблема заключалась в том, что я был идиотом. Файл xml, который, как я думал, он использовал, не был файлом xml, который он фактически использовал. Тот, который он фактически использовал, - это сканирование с net.dynamic_tools.jsdependency.controller и, следовательно, отсутствие аннотаций в net.dynamic_tools.jsdependency.view. annotation-config, похоже, не требуется. –
Для тех, кто хочет это сделать, аннотация @Component - это то, что я получил. Я удалил класс @Configuration и @Bean. –