Вы столкнулись с следующей ситуацией, когда консоль неограниченный вывод следующего журнала:
Регистрация инициализирована с использованием класса org.apache.ibatis.logging.log4j.log4jimpl 'адаптер.
Регистрация инициализирована с использованием класса org.apache.ibatis.logging.log4j.log4jimpl 'адаптер.
Регистрация инициализирована с использованием класса org.apache.ibatis.logging.log4j.log4jimpl 'адаптер.
Регистрация инициализирована с использованием класса org.apache.ibatis.logging.log4j.log4jimpl 'адаптер.
Регистрация инициализирована с использованием класса org.apache.ibatis.logging.log4j.log4jimpl 'адаптер.
Эта ошибка произойдет только в случае интеграции с пружиной.
Каждый раз, когда возникает эта ошибка, я знаю, что возникает ошибка XML, но конкретный XML не может быть подтвержден напрямую, поскольку журнал здесь не может увидеть какую -либо полезную информацию.
Если вы хотите найти эту ошибку, у меня есть общий метод, который должен постепенно найти эту ошибку в определенной точке перерыва в записи в запуске программы.
Тем не менее, этот метод все еще очень неприятный. О том, о чем я хочу поговорить здесь, это решение быстрого позиционирования, которое очень просто в эксплуатации.
Найдите org.springframework.beans.factory.support.abstractautowirecapablebeanfactory Class, в следующем методе:
Protected void AutoWireBytype (String Beanname, AbstractBeandefinition MBD, Beanwrapper BW, MitablePropertyValues PVS) {Этот метод составляет около 1200 строк. Найдите место, где исключение Catch в этом методе: Catch (Beansexception ex) {бросить новый недовольный DevidePendencyException (mbd.getresourcedescription (), Beanname, PropertyName, Ex);}Просто точка останова на линии броска. Это место является первым местом, где можно поймать исключения. Когда ошибки файла mapper.xml, информация об исключении здесь заключается в следующем:
Информация об исключении очень подробно, конкретный текст исключения заключается в следующем:
org.springframework.core.nestearioException:
Не удалось проанализировать отображение ресурса:
'file [f: /liu/git/bhgl/target/franchisee-1.0/web-inf/classes/com/abel533/property/dao/employeemapper.xml]';
Вложенное исключение - org.apache.ibatis.builder.builderexception:
Ошибка создания экземпляра документа.
Причина: org.xml.sax.saxparseexception; Линевое белье: 1; ColumnNumber: 1; Контент не допускается в предисловии.
После открытия этой ошибки XML я нашел ошибку без речи:
Я не знаю, какова ситуация, в начале есть EMPLO. По сути, до тех пор, пока в XML есть какая -либо ошибка, это аналогичная информация об исключении, и это, как правило, ошибка в анализе XML.
Есть еще один вопрос: почему может увидеть только одну строку журналов с бесконечным выводом после ошибки, но не может увидеть конкретную информацию об исключении здесь?
Следуя коду, я нашел метод в org.springframework.beans.factory.support.abstractbeanfactory:
Защищенный класс <?> getTypeforfactorybean (String beanname, rootbeandefinition mbd) {if (! mbd.issingleton ()) {return null;} try {factorybean <?> factorybean = dogetbean (factory_bean_prefix + beanname, factorybean.class, null, null, true); getTypeforFactoryBean (FactoryBean);} Catch (beancreationException ex) {// может произойти только при получении заводской бояПосле того, как он поймал исключение здесь, вернуть NULL напрямую приводит к проглатыванию исключения.
Поскольку это последний слой, где исключения пойманы, и исключения, забитые в этом месте, будут шире, это также хороший выбор для просмотра проблем в точках останова здесь. Поскольку он был обработан через несколько слоев исключений, реальная информация об ошибках скрыта глубоко, как показано на рисунке ниже:
Видя это, я считаю, что эта проблема будет легко решена, когда я снова встречусь.