今天,从git上面拉下来公司的代码,eclipse运行半天都是tomcat超时,但是Maven编译成war包之后放入tomcat程序中,又是可以运行的。之前也是有这个问题,可能是XML映射文件出现了问题。但是,坑爹的一点错误也不报的。
查了一下网上的资料,需要自己重写一下SqlSessionFactoryBean中的buildSqlSessionFactory方法,并替换原有的SqlSessionFactoryBean
import java.io.IOException;
import org.apache.ibatis.session.SqlSessionFactory;
import org.mybatis.spring.SqlSessionFactoryBean;
import org.springframework.core.NestedIOException;
public class BeanFactory extends SqlSessionFactoryBean {
@Override
protected SqlSessionFactory buildSqlSessionFactory() throws IOException {
try{
return super.buildSqlSessionFactory();
}catch(NestedIOException e){
e.printStackTrace();
throw new NestedIOException("Failed to parse mapping resource:",e.getCause());
}
}
}
<bean id="sqlSessionFactory" class="com.izhenglan.merchant.test.bean.BeanFactory">
<property name="dataSource" ref="dataSource"/>
<property name="configLocation" value="classpath:config/mybatis-config.xml"/>
<property name="mapperLocations" value="classpath*:mapper/*.xml"/>
</bean>
之后运行一下就会发现,原来有一个xml中有人加入了中文注解,引起了报错。将它删除了之后,项目就能够正常运行了。
网友评论