運行環境:Spring框架整合MaBitis框架java
問題敘述:spring
在Spring配置文件applicationContext-mybatis.xml中配置好mybatis以後sql
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <!--當前配置文件用於管理mybatis--> <!--加載資源文件,須要用到context命名空間--> <context:property-placeholder location="classpath:com/bjsxt/config/commons/db.properties"/> <!--配置數據源,在spring-jdbc.jar中提供了一個測試用的數據源--> <bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource"> <property name="driverClassName" value="${db.driver}"/> <property name="url" value="${db.url}"/> <property name="username" value="${db.username}"/> <property name="password" value="${db.password}"/> </bean> <!--配置sqlSessionFactory對象,在MyBatis-Spring.jar中提供--> <bean id="factory" class="org.mybatis.spring.SqlSessionFactoryBean"> <!--注入數據源--> <property name="dataSource" value="dataSource"/> <!--配置別名--> <property name="typeAliases" value="com.bjsxt.pojo"/> </bean> <!--配置映射掃描,在mybatis-spring.xml中提供--> <bean id="msc" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <!--掃描位置--> <property name="basePackage" value="com.bjsxt.mapper"/> <!--注入工廠對象--> <property name="sqlSessionFactoryBeanName" value="factory"/> </bean> </beans>
接下來配置applicationContext-service.xml,其中須要注入userMappermybatis
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <!--此配置文件用於管理service對象--> <bean id="userService" class="com.bjsxt.service.impl.UserServiceImpl"> <!--注入UserMapper對象--> <property name="userMapper" ref="userMapper"/> </bean> </beans>
出現:app
緣由分析:框架
這裏的錯誤,是因爲系統找不到userMapper,由於沒有定義,在沒有用Spring的時候,userMapper是經過sqlSession的getMapper方法得到的,測試
當使用Spring進行配置MyBstis時,sqlSession對象和userMapper已經經過配置文件進行生成,可是這個過程是在程序正式啓動運行過程當中纔會url
產生的,此處雖然會報錯,可是不影響程序運行,可是不解決總讓人感受不舒服,下面是解決方案:spa
問題解決:3d
鼠標放在有錯誤的這一行,前面會有一個相似燈泡的圖標,點擊下三角,按照圖上選擇Disable inspextion選項,進行標註,代表,此問題忽略,能夠正常編譯