какие аннотации относятся к ‹context:component-scan›?

сканирует ли он только аннотации контроллера, службы, дао, автопроводки? как это влияет на RequestMapping, ResponseBody и другие идентификаторы строк аннотаций спящего режима, таблицу и т. д. Если в моем проекте я не использую какой-либо контроллер, сервис, dao, автопроводные аннотации и использую только аннотации RequestMapping, ResponseBody и Hibernate, то требуется в диспетчер xml или нет.?


person RBP    schedule 24.04.2014    source источник


Ответы (2)


Для вашего сценария ответ НЕТ. Это образец. Поскольку вы не добавляете аннотацию Spring в класс, это означает, что bean-компонент не управляется Spring. Так что Spring ничего не может с этим поделать. То же самое и с аннотацией hibernate.

А для Context:component-scan я рекомендую открыть контекстную схему: http://www.springframework.org/schema/context/spring-context-3.0.xsd, на нем есть описание. Также обратите внимание, что для всех этих типов конфигураций откройте схему и проверьте описание, оно очень понятное.

person OQJF    schedule 24.04.2014
comment
означает, что если я не добавил ‹context:component-scan› в XML, хотя RequestMapping, ResponseBody и другие аннотации Hibernate будут работать. На него это не повлияет. правильно.? я просто хочу еще раз подтвердить. - person RBP; 24.04.2014
comment
На самом деле, я думаю, что RequestMapping, ResponseBody не работают, bean должен управляться Spring. Добавляете ли вы конфигурацию xml для этих компонентов? - person OQJF; 24.04.2014
comment
Пока нет. На самом деле я перемещаю свой проект из аннотации в xml, поэтому я застрял там. Если это не сработает, мне нужно удалить его. Что насчет аннотации гибернации? это сработает или нет.? - person RBP; 24.04.2014
comment
Для аннотации спящего режима спящий режим будет сканировать путь к классам, чтобы обработать его, поэтому он не влияет на него. - person OQJF; 25.04.2014
comment
Почему вы используете xml вместо аннотации? Вы использовали @Configuration или только контроллер и репозиторий? - person OQJF; 25.04.2014
comment
Я работаю над веб-приложением Google. Я использую аннотации spring, hibernate. В приложении Google из-за весенних аннотаций требуется время, чтобы получить ответ после развертывания. Это занимает 5-10 минут. Поэтому я хотел удалить аннотации. Ознакомьтесь с developers.google.com/appengine/articles/spring_optimization. Если аннотации спящего режима не оказывают никакого влияния после удаления тега сканирования компонента, это будет gr8. в противном случае мне также нужно создать xml таблиц. Но вы уверены? Потому что @Aeseir ответил, что это не сработает, если я удалю сканирование компонентов. - person RBP; 28.04.2014
comment
У меня есть тестовый проект, в котором в качестве зависимостей есть только hibernate, jpa и derby db, и аннотации работают хорошо. так понятнее? - person OQJF; 29.04.2014
comment
yup.okie.позже проверю. - person RBP; 29.04.2014

Нет, он делает гораздо больше, чем это.

Подробное описание сканирования компонентов см. в следующих разделах в качестве отправной точки на справочной странице:

http://docs.spring.io/spring/docs/4.0.3.RELEASE/spring-framework-reference/htmlsingle/#beans-annotation-config

http://docs.spring.io/spring/docs/4.0.3.RELEASE/spring-framework-reference/htmlsingle/#beans-classpath-scanning

person Aeseir    schedule 24.04.2014
comment
как это повлияет на аннотации спящего режима, такие как таблица, идентификатор и т. д.? Если я удалю ‹context:component-scan›, это будет работать? - person RBP; 24.04.2014
comment
Отсутствие сканирования означает, что аннотации бесполезны, и вам нужно объявить все в xml. - person Aeseir; 24.04.2014
comment
Если на ваш вопрос ответили, пожалуйста, отметьте это как да :) - person Aeseir; 28.04.2014