Idea中Spring整合MyBatis框架中配置文件中對象注入問題解決方案

運行環境: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選項,進行標註,代表,此問題忽略,能夠正常編譯

相關文章
相關標籤/搜索