今天遇到一个奇葩的问题,junit忽然就用不了了,卡住不动,打了三行log4j的日志,就不动了,把项目放tomcat里启动一会儿就也不动了,红色一直报错
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
然后就傻傻的一直找是不是maven 日志配置的原因,最后还是没解决,昨晚到很晚才回家也没解决。
早上来了,公司网断了,耽误了很久,这段时间就可以静下心想想为啥了··
首先,即使是不报上面的的日志错误了,也还是启不来,新建junit,不加载项目配置,成功启动,所以还是项目配置的问题!
其次,就加载了一个配置文件,applicationContext.xml ,这个文件我是没改的,这个配置文件里加载了数据库的配置,这个是没问题的,maven profile 都没问题,可以注入,
再想! 项目启动会加载mybatis的各种配置以及事务,mybatis主要加载了 mapper.xml,用来注入dao层接口,所以··难道是mapper?
查询mapper.xml,里面有注释,忽然想起,以前遇到过这种情况!mybatis 加载mapper 时有错误的话 是不会报错的!
最后··结果水落石出! 注释中有个这货·· 把 里面的-- 去掉,brovo!成功了!
总结:mybatis 中 写mapper.xml 时一定要注意,注释,<> 等特殊字符,都要注意! 而且还不会报错,简直了···