다음 로그의 콘솔 무제한 출력이있는 다음 상황이 발생 했습니까?
'class org.apache.ibatis.logging.log4j.log4jimpl'어댑터를 사용하여 초기화되었습니다.
'class org.apache.ibatis.logging.log4j.log4jimpl'어댑터를 사용하여 초기화되었습니다.
'class org.apache.ibatis.logging.log4j.log4jimpl'어댑터를 사용하여 초기화되었습니다.
'class org.apache.ibatis.logging.log4j.log4jimpl'어댑터를 사용하여 초기화되었습니다.
'class org.apache.ibatis.logging.log4j.log4jimpl'어댑터를 사용하여 초기화되었습니다.
이 오류는 스프링과 통합 된 경우에만 발생합니다.
이 오류가 발생할 때마다 XML 오류가 발생한다는 것을 알고 있지만 여기에 로그가 유용한 정보를 볼 수 없기 때문에 특정 XML을 직접 확인할 수 없습니다.
이 오류를 찾으려면 공통 메소드가 있습니다.이 메소드는 프로그램 시작의 특정 항목 중단 점에서 점차적 으로이 오류를 찾는 것입니다.
그러나이 방법은 여전히 매우 번거 롭습니다. 여기서 이야기하고 싶은 것은 빠른 포지셔닝 솔루션이며, 이는 매우 간단합니다.
다음 방법으로 org.springframework.beans.factory.support.abstractautowirecapablebeanfactory 클래스를 찾으십시오.
보호 된 void AutowireByType (String Beanname, AbstractBeandefinition MBD, BeanWrapper BW, MutablePropertyValues PVS) {이 방법은 약 1200 줄입니다. 이 방법에서 캐치 예외가있는 장소를 찾으십시오 : Catch (Beansexception ex) {새로운 미지 만족 의존적 인 의존성 exception (mbd.getResourcedEscription (), BeanName, PropertyName, Ex);}.던지기 라인의 브레이크 포인트. 이 장소는 예외를 포착 한 첫 번째 장소입니다. mapper.xml 파일 오류가 발생하면 여기의 예외 정보는 다음과 같습니다.
예외 정보는 매우 상세하며 특정 예외 텍스트는 다음과 같습니다.
org.springframework.core.nestedioexception :
매핑 리소스를 구문 분석하지 못했습니다.
'파일 [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; LineNumber : 1; 칼럼 번호 : 1; 서문에서는 내용이 허용되지 않습니다.
이 오류 XML을 열면 말이없는 오류가 발견되었습니다.
상황이 무엇인지 모르겠습니다. 처음에는 EMPLO가 있습니다. 기본적으로 XML에 오류가있는 한 비슷한 예외 정보이며 일반적으로 XML 구문 분석의 오류입니다.
오류 후 무한 출력이있는 한 줄의 로그 만 볼 수 있지만 여기서는 특정 예외 정보를 볼 수없는 또 다른 질문이 있습니다.
코드를 따르면 org.springframework.beans.beans.support.abstractbeanfactory 클래스에서 메소드를 찾았습니다.
보호 클래스 <?> getTypefeFactoryBean (String beanname, rootbeandefinition mbd) {if (! mbd.issingleton ()) {return null;} try {FactoryBean <?> factorybean = dogetBean (factory_bean_prefix + beanname.class, class, reclass); getTypeforFactoryBean (FactoryBean);} catch (beancreationException ex) {// factoryBean.if (logger.isdebugenabled ()) {logger.debug ( "공장 비대 유형에서 Bean Creation Exceptions Exception incations of FactoryBean except :"} onsupressection (ex); returnception (returnection);여기서 예외를 포착 한 후 NULL을 직접 reture는 예외를 삼키게됩니다.
이것은 예외가 잡히는 마지막 층이기 때문에이 장소에서 잡힌 예외가 더 넓어 지므로 여기에서 중단 점에서 문제를 보는 것이 좋습니다. 여러 계층의 예외를 통해 처리되었으므로 아래 그림과 같이 실제 오류 정보는 깊게 숨겨져 있습니다.
이것을 보면, 나는이 문제가 내가 그것을 다시 만나면 쉽게 해결 될 것이라고 믿는다.