почему опция автоопределения недоступна для меня? - PullRequest
5 голосов
/ 23 августа 2010

Я пытаюсь использовать autowire = "autodetect" ..

В коде Eclipse подсказка не показывает мне autodetect в качестве опции ... Но он показывает другие значения, такие как byname, bytype, constructor ..

Чего не хватает в моем приложении?

Ответы [ 2 ]

5 голосов
/ 23 августа 2010

Он не предлагает вам autodetect, потому что (согласно документации ), autodetect не вариант. Допустимые значения: byName, byType amd constructor.

Кстати, этот вид автопроводки серьезно старомоден. Аннотации @Autowired и @Inject обеспечивают гораздо лучший контроль над автопроводкой - см. Документы .

обновление: Опция autodetect устарела в Spring 3.x и больше не отображается в документации. Тем не менее, он все равно должен работать (см. javadoc ), поэтому я ошибался, говоря изначально, что это не вариант.

0 голосов
/ 02 июня 2015

Параметр автоопределения устарел.

В более новых версиях Spring Framework 4.1.6 я получаю следующее исключение:

Caused by: org.xml.sax.SAXParseException; lineNumber: 7; columnNumber: 83; cvc-enumeration-valid: Value 'autodetect' is not facet-valid with respect to enumeration '[default, no, byName, byType, constructor]'. It must be a value from the enumeration.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)

, что в основном означает, что теперь autowire может иметь только четыре возможных значения, то есть [по умолчанию, нет, byName, byType, конструктор]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...