Você encontrou a seguinte situação em que a saída ilimitada do console do seguinte log:
Logging inicializado usando 'classe org.apache.ibatis.logging.log4j.log4jimpl' Adaptador.
Logging inicializado usando 'classe org.apache.ibatis.logging.log4j.log4jimpl' Adaptador.
Logging inicializado usando 'classe org.apache.ibatis.logging.log4j.log4jimpl' Adaptador.
Logging inicializado usando 'classe org.apache.ibatis.logging.log4j.log4jimpl' Adaptador.
Logging inicializado usando 'classe org.apache.ibatis.logging.log4j.log4jimpl' Adaptador.
Este erro ocorrerá apenas se integrado à mola.
Toda vez que esse erro ocorre, sei que o erro XML ocorre, mas o XML específico não pode ser confirmado diretamente, porque o log aqui não pode ver nenhuma informação útil.
Se você deseja localizar esse erro, tenho um método comum, que é localizar gradualmente esse erro de um determinado ponto de interrupção na inicialização do programa.
No entanto, esse método ainda é muito problemático. O que eu quero falar aqui é uma solução rápida de posicionamento, que é muito simples de operar.
Encontre o org.springframework.beans.factory.support.abstractraTowirecapableBeanFactory Class, no seguinte método:
Void protegido AutoWireByType (String Beanname, AbstractBeandEDefinition MBD, Beanwrapper BW, MutablePropertyValues pvs) {Este método é de cerca de 1200 linhas. Encontre o local onde a exceção de captura neste método: Catch (Beansexception Ex) {TOME NOVO InsatisfiedDependencyException (mbd.getResourceDescription (), Beanname, PropertyName, Ex);}Basta ponto de interrupção na linha de arremesso. Este lugar é o primeiro lugar para capturar exceções. Quando os erros do arquivo mapper.xml, as informações de exceção aqui são as seguintes:
As informações de exceção são muito detalhadas, o texto de exceção específico é o seguinte:
org.springframework.core.nestedioException:
Falha ao analisar o recurso de mapeamento:
'arquivo [f: /liu/git/bhgl/target/franchisee-1.0/web-inf/classes/com/abel533/property/dao/employeMapper.xml];
A exceção aninhada é org.apache.ibatis.builder.builderexception:
Erro criando a instância do documento.
Causa: org.xml.sax.saxparseException; Linho do linho: 1; columnNumber: 1; O conteúdo não é permitido no prefácio.
Depois de abrir este erro XML, encontrei um erro sem palavras:
Não sei qual é a situação, há um emploimento no começo. Basicamente, desde que exista algum erro no XML, é uma informação de exceção semelhante e geralmente é um erro na análise XML.
Há outra pergunta: por que só pode ver uma linha de toras com saída infinita após um erro, mas não pode ver as informações de exceção específicas aqui?
Seguindo o código, encontrei o método na classe org.springframework.beans.factory.support.abstractBeanFactory:
classe protegida <?> getTypeForFactoryBean (String beanname, rootbeandEfinition mbd) {if (! mbd.issingleton ()) {return null;} tente {factoryBean <? getTyPeForFactoryBean (FactoryBean);} Catch (BeaRCreationException Ex) {// só pode acontecer ao obter um fábrica.if (Logger.isdebugenabled ()) {Logger.debug ("Ignorando a exceção de criação do feijão no tipo de fábrica (" + ex);} onSupppppp (} onSupppp (} onSuppPurp (");Depois de pegar a exceção aqui, o retorno nulo faz com que a exceção seja engolida.
Como esta é a última camada em que as exceções são capturadas e as exceções capturadas neste local serão mais amplas, também é uma boa opção ver problemas em pontos de interrupção aqui. Como foi processado através de várias camadas de exceções, as informações reais de erro são ocultas profundamente, como mostrado na figura abaixo:
Vendo isso, acredito que esse problema será facilmente resolvido quando eu o encontrar novamente.