0 0

spring mvc+mybatis整合读取数据源配置文件时报空指针异常,xml中写死没有问题10

我的配置:

<!-- 引入jdbc配置文件 --> 
    <context:property-placeholder location="classpath:jdbc.properties" />
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="${jdbc.driver}"/>
<property name="url" value="${jdbc.url}"/>
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>

<property name="initialSize"><value>5</value></property>
        <property name="minIdle"><value>5</value></property>
<property name="removeAbandoned"><value>true</value></property> 
        <property name="removeAbandonedTimeout"><value>30</value></property>
        <property name="logAbandoned"><value>true</value></property>
        <property name="maxActive"><value>50</value></property>
        <property name="maxWait"><value>30000</value></property>
</bean>
   
    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx --> 
    <bean id="transactionManager" 
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
        <property name="dataSource" ref="dataSource" /> 
    </bean> 
 
    <!-- 创建SqlSessionFactory,同时指定数据源 --> 
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> 
        <property name="dataSource" ref="dataSource" /> 
   <property name="mapperLocations" value="classpath:com/tongtech/esbserver/mapping/*.xml"></property>
        <!-- <property name="typeHandlersPackage" value="com.tx.core.mybatis.handler"></property> 
   <property name="failFast" value="true"></property> -->
    </bean>
   
     
    <!-- Mapper接口所在包名,Spring会自动查找其下的Mapper --> 
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"> 
        <property name="basePackage" value="com.tongtech.esbserver.dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
    </bean>
2014年12月29日 11:19
  • 大小: 10 KB
  • 大小: 52.6 KB

2个答案 按时间排序 按投票排序

0 0


mybatis官方已经给出解决方案了,就是用自己的xmlns,看下面的配置,注意红色部分
<?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:aop="http://www.springframework.org/schema/aop"
       xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context"
      xmlns:mybatis="http://mybatis.org/schema/mybatis-spring"
       xmlns:cache="http://www.springframework.org/schema/cache"
       xmlns:task="http://www.springframework.org/schema/task"
       xsi:schemaLocation="
          http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx-3.2.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.2.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.2.xsd
          http://www.springframework.org/schema/task
           http://www.springframework.org/schema/task/spring-task-3.2.xsd
          http://www.springframework.org/schema/cache
          http://www.springframework.org/schema/cache/spring-cache-3.1.xsd
          http://mybatis.org/schema/mybatis-spring
          http://mybatis.org/schema/mybatis-spring.xsd
"
       default-autowire="byName">
    <context:annotation-config/>
    <context:property-placeholder location="classpath:jdbc.properties"/>

    <bean id="dataSource" class="com.alibaba.druid.pool.DruidDataSource" init-method="init" destroy-method="close">
        <property name="url" value="${jdbc.url}"/>
        <property name="username">
            <value>${jdbc.username}</value>
        </property>
        <property name="password" value="${jdbc.password}"/>
        <property name="filters">
            <value>stat,log4j</value>
        </property>

        <property name="maxActive">
            <value>20</value>
        </property>
        <property name="initialSize">
            <value>1</value>
        </property>
        <property name="maxWait">
            <value>60000</value>
        </property>
        <property name="minIdle">
            <value>1</value>
        </property>

        <property name="timeBetweenEvictionRunsMillis">
            <value>60000</value>
        </property>
        <property name="minEvictableIdleTimeMillis">
            <value>300000</value>
        </property>

        <property name="validationQuery">
            <value>SELECT 'x'</value>
        </property>
        <property name="testWhileIdle">
            <value>true</value>
        </property>
        <property name="testOnBorrow">
            <value>false</value>
        </property>
        <property name="testOnReturn">
            <value>false</value>
        </property>

        <property name="poolPreparedStatements">
            <value>true</value>
        </property>
        <property name="maxOpenPreparedStatements">
            <value>20</value>
        </property>
    </bean>

    <bean id="transactionManager"
          class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource"/>
    </bean>

    <tx:annotation-driven transaction-manager="transactionManager"/>

    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource"/>
        <property name="configLocation" value="classpath:mybatis-config.xml"/>
    </bean>

    <mybatis:scan base-package="com.xxx.web.dao.mapper"/>


其实关键的配置就是<mybatis:scan>这个配置项了。

2015年1月01日 15:58
0 0

之前遇到过类似情况,解决方案请看这里:http://yjy110.iteye.com/blog/1882876

2014年12月30日 15:06

相关推荐

    Spring MVC+Mybatis整合实现用户登录以及增删改查功能

    在本项目中,我们主要探讨的是如何将Spring MVC与Mybatis框架进行整合,以实现一个完整的用户管理系统,包括用户登录和基本的CRUD(创建、读取、更新、删除)操作。Spring MVC作为Spring框架的一部分,是用于构建Web...

    maven+springmvc+redis+mybatis整合

    4. 创建Spring配置文件,配置数据源、事务管理器、MyBatis的SqlSessionFactory等。 5. 集成Redis,配置Redis连接池,编写RedisTemplate或StringRedisTemplate的配置,实现数据缓存操作。 6. 编写Spring MVC的...

    spring mvc+mybatis整合

    3. **MyBatis配置**:配置 MyBatis 的主配置文件,包括数据源、事务管理器、SqlSessionFactory 和 MapperScannerConfigurer(扫描Mapper接口)。 4. **Mapper配置**:在 MyBatis 的 XML 映射文件中编写 SQL,与 ...

    springMVC+spring+mybatis+redis整合

    整合这四个技术,开发者首先需要在`pom.xml`文件中添加相应的依赖,然后配置Spring的上下文和MyBatis的配置文件,设置数据源、SqlSessionFactory、Mapper扫描等。接着,为Redis配置连接池和缓存策略,例如设置过期...

    spring+spring mvc + mybatis + mysql

    MyBatis是一个持久层框架,它允许开发者将SQL语句直接写在XML配置文件或者注解中,简化了数据库操作。在本项目中,MyBatis与Spring整合,提供了数据访问接口(DAO),使得业务层可以透明地操作数据库,无需关心底层...

    Maven + Spring mvc + Mybatis + Velocity 整合实例

    在这个整合实例中,开发者可以学习到如何设置Maven的POM.xml文件来管理所有依赖,如何配置Spring MVC的DispatcherServlet和ApplicationContext,如何定义Mybatis的Mapper接口和XML配置文件,以及如何在Velocity模板...

    整合spring+pring mvc+mybatis

    整合这三个框架时,通常会将MyBatis的SqlSessionFactory配置在Spring的配置文件中,以便Spring可以管理SqlSession的生命周期。Spring MVC的Controller通过Spring的Data Access/ORM支持来调用MyBatis的Mapper接口,...

    Maven 整合 Spring mvc + Mybatis + Velocity 的实例

    3. **配置Mybatis**:创建mybatis-config.xml配置文件,配置数据源、事务管理器和SqlSessionFactory。编写Mapper接口和Mapper XML文件,定义SQL语句。 4. **配置Velocity**:在Web应用的配置中设置...

    spring mvc +mybatis框架实现增删查改

    在实际项目中,`demo_si_test`可能是一个测试工程,包含相关的配置文件(如`applicationContext.xml`、`sqlMapConfig.xml`)、源代码(Service、DAO、Controller类)、以及Mapper接口和XML文件等。通过运行这个工程...

    基于SSM的爬虫系统,Spring+Spring MVC+MyBatis+Druid+Redis+MQ.zip

    这是一个基于Java技术栈的SSM(Spring、Spring MVC、MyBatis)爬虫系统,结合了Druid数据源和Redis缓存,以及消息队列MQ的实现。该项目提供了完整的源码,适合用作毕业设计参考,且已经在Windows 10/11环境下经过...

    SpringMVC+Redis+MyBatis项目

    项目整合这三者,首先需要在SpringMVC的配置文件中添加Redis和MyBatis的相关配置,包括数据源、事务管理器、SqlSessionFactory等。接着,为每个Service层方法添加缓存注解,指定缓存的Key生成策略和过期时间。对于...

    SpringMVC +Mybatis+Spring+oscache配置文件

    在实际项目中,这些配置文件会结合使用,形成一个完整的Spring MVC、Mybatis、Spring和oscache的集成环境,实现高效的数据访问、业务逻辑处理和页面展示。通过合理的配置,可以优化性能、增强可维护性和扩展性。

    Spring+SpringMVC+MyBatis整合工程完整实例及实现用户登录功能

    SSM(Spring、SpringMVC、MyBatis)框架整合是Java Web开发中常见的技术栈,它将Spring的依赖注入、SpringMVC的MVC设计模式以及MyBatis的持久层框架结合在一起,构建出高效、灵活的Web应用。本项目以一个完整的实例...

    spring mvc+spring +mybatis 搭建框架源码

    在项目中,Spring的bean配置文件(如:applicationContext.xml)会定义各种组件和服务,包括数据源、事务管理器以及服务和DAO层的bean。 MyBatis是一个优秀的持久层框架,它支持定制化SQL、存储过程以及高级映射。...

    Spring+Mybatis+Druid+POI示例整合demo

    - Spring配置:设置数据源为Druid,配置Mybatis的SqlSessionFactory,以及相关的Mapper和Service。 - Mybatis配置:编写XML映射文件,定义SQL语句,与Java接口进行绑定。 - Druid配置:配置连接池参数,如最大...

    Spring+SpringMVC+MyBatis整合

    5. **配置文件**:通过Spring的配置文件,定义Bean、数据源、事务管理器、MyBatis的相关配置,以及SpringMVC的视图解析器、拦截器等。 在"ssm_case"这个压缩包中,可能包含了SSM整合的示例代码,包括Spring的配置...

    maven构建Spring4+SpringMVC+Mybatis3

    在"Maven构建Spring4+SpringMVC+Mybatis3"的场景下,pom.xml文件会定义Spring、Spring MVC、Mybatis以及相关的数据库驱动等依赖,Maven会自动下载这些库并将其添加到类路径中,简化了项目的构建过程。 在实际开发中...

    spring+springmvc+mybatis的整合以及数据库读写分离的测试

    在Spring和MyBatis的配置中,可以设置多个数据源,一个用于写操作(主库),另一个或多个用于读操作(从库)。在业务逻辑中,根据操作类型选择合适的数据源进行连接,通常通过事务管理器来实现。 在本项目中,...

    springMVC+MyBatis+Oracle+Web实现增删改查完整案例+数据库数据)

    2. **配置MyBatis**:创建SqlSessionFactory,配置数据源、事务管理器,编写Mapper接口和映射文件。 3. **连接Oracle数据库**:配置数据库连接信息,如URL、用户名、密码等。 4. **实体类与数据表对应**:创建Java ...

    SpringMVC+Mybatis+SQLServer整合源码 含数据库文件

    2. 配置Spring的bean:定义SqlSessionFactoryBean,设置数据源、Mybatis的配置文件路径等。 3. 配置Mybatis:编写Mapper接口,创建对应的XML文件,定义SQL语句和结果映射。 4. 数据库连接配置:在Spring配置文件中...

Global site tag (gtag.js) - Google Analytics