`
lean1252
  • 浏览: 218878 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)spring3+mybatis 使用MapperScannerConfigurer时context:property-placeholder载不进属性

 
阅读更多
如题,使用spring3+mybatis时,使用mybatis官方提供的动态加载自动注入Mapper方法时,写在配置文件里的数据源信息加载滞后,导致加载失败。这个问题在:http://www.oschina.net/question/188964_32305有比较多的讨论,但我仔细测试过,都不能达到我想的结果,这里我参考了mybatis的官方论坛:http://code.google.com/p/mybatis/issues/detail?id=414第17楼的想法,做到了自动注入Mapper到Spring容器中,自动加载sqlMapper的XML文件。
下面贴出我的配置:

Xml代码  收藏代码
<util:properties id="dataSourceProps" location="classpath:resources/config/jdbc.properties"/> 
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> 
        <property name="driverClassName" value="#{dataSourceProps['driverClassName']}" /> 
        <property name="url" value="#{dataSourceProps['url']}" /> 
        <property name="username" value="#{dataSourceProps['username']}" /> 
        <property name="password" value="#{dataSourceProps['password']}" /> 
        <property name="initialSize" value="1" /> 
        <property name="maxActive" value="500" /> 
        <property name="maxIdle" value="2" /> 
        <property name="minIdle" value="1" /> 
    </bean> 
 
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> 
        <property name="dataSource" ref="dataSource" /> 
    </bean> 
 
    <tx:annotation-driven />   
     
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">   
         <property name="dataSource" ref="dataSource" />   
         <property name="typeAliasesPackage" value="com.tydic.*.model,com.tydic.*.*.model" /> 
    </bean>  
        <!--Mapper与sqlMap的xml文件要存一起,否则要在sqlSessionFactory里扫描加载--> 
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">   
          <property name="basePackage" value="com.tydic.*.dao,com.tydic.*.*.dao" /> 
    </bean> 
   <context:component-scan base-package="com.tydic.*"/> 
分享到:
评论

相关推荐

    Spring整合Mybatis使用&lt;context:property-placeholder&gt;时的坑

    通过上述调整,你应该能够解决Spring在整合Mybatis时,使用`&lt;context:property-placeholder&gt;`时遇到的属性解析问题,确保每个数据源都能正确地从属性文件中获取其配置信息。记得在调整配置后,重新启动应用并检查...

    Spring+mybatis+mysql配置文件整合

    这里,`context:property-placeholder`标签用于加载`jdbc.properties`文件,该文件通常存储数据库连接的相关属性。`BasicDataSource`是Apache Commons DBCP提供的数据源,用于管理数据库连接。通过`property`标签,...

    spring与mybatis整合配置文档

    ### Spring与MyBatis整合配置详解 #### 一、概览 在现代Java Web开发中,Spring框架作为核心,提供了一套完整的解决方案来管理应用程序的各种组件和服务。而MyBatis作为一个优秀的持久层框架,能够方便地进行SQL...

    MyBatis_Spring整合代码案例.zip

    这通常在Spring的context:property-placeholder或context:resource标签中通过设置`jdbc.initialize-on-startup`属性来控制。 8. **MyBatis_SpringZK0和MyBatis_SpringZK**:这两个文件可能是项目中的其他相关组件,...

    引入多个properties时.txt

    在SSM(Spring + SpringMVC + MyBatis)框架中,经常需要配置多个属性文件来管理各种配置信息。例如数据库连接信息、系统资源路径等。本文将详细探讨如何在SSM框架中引入多个`properties`文件,并解决可能出现的问题...

    springmvc+mybatis框架整合详解

    &lt;context:property-placeholder location="classpath:db.properties"/&gt; &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt; &lt;property name="driverClassName" value...

    spring,mybatis 对数据源配置与管理

    - **context命名空间**:使用`&lt;context:component-scan&gt;`标签来指定组件扫描的包路径,而`&lt;context:property-placeholder&gt;`用来加载配置文件。 - **DataSource配置**:为每个数据源定义了一个`&lt;bean&gt;`,配置了具体的...

    spring与mybatis三种整合方法

    - 首先,要在Spring配置文件中引入JDBC配置,使用`&lt;context:property-placeholder&gt;`标签加载外部属性文件,如`jdbc.properties`,以获取数据库连接参数。 - 然后,创建一个`BasicDataSource`的bean,配置数据源...

    SSM整合小Demo思路1

    然后,在Spring的配置文件中,使用`&lt;context:property-placeholder&gt;`标签引入这个属性文件。 5. **配置SqlSessionFactory**: SqlSessionFactory是MyBatis的核心组件,用于创建SqlSession对象。我们使用`&lt;bean&gt;`...

    springmybatis

    (再加一条,其实大家可以看官方的教程更好些:http://mybatis.github.io/mybatis-3/,而且如果英文不是很好的那就看中文的:http://mybatis.github.io/mybatis-3/zh/sqlmap-xml.html) 写在这个系列前面的话: 以前...

    MyBatis异常-Property 'configLocation' not specified, using default MyBatis Configuration

    在使用MyBatis框架时,可能会遇到一个特定的异常:“Property 'configLocation' not specified, using default MyBatis Configuration”。这个异常通常表明MyBatis在启动时无法找到配置文件的位置,因此它会使用默认...

    mybatis的配置问题

    &lt;bean class="org.mybatis.spring.mapper.MapperScannerConfigurer"&gt; &lt;property name="basePackage" value="top.jikezhe.mapper" /&gt; &lt;property name="sqlSessionFactoryBeanName" value="factory" /&gt; ``` 这部分...

    ssm 框架配置

    &lt;context:property-placeholder location="classpath:db.properties"/&gt; &lt;!-- 配置数据源 --&gt; &lt;property name="driverClassName" value="${jdbc.driver}" /&gt; &lt;property name="url" value="${jdbc.url}" /&gt; ...

    Spring下mybatis多数据源配置[参照].pdf

    &lt;context:property-placeholder location="classpath:jdbc.properties"/&gt; &lt;property name="alias" value="${alias}"/&gt; &lt;property name="driver" value="${driver}"/&gt; &lt;property name="driverUrl" value="${...

    Spring下mybatis多数据源配置

    &lt;context:property-placeholder location="classpath:jdbc.properties"/&gt; &lt;property name="alias" value="${alias}"/&gt; &lt;property name="driver" value="${driver}"/&gt; &lt;property name="driverUrl" value="${...

    基于java的企业级应用开发:Mybatis与Spring的整合.ppt

    然后,在`applicationContext.xml`中,配置Spring的基本信息,如数据源(使用`BasicDataSource`),并引用`db.properties`,通过`context:property-placeholder`标签加载属性文件。接下来,配置MyBatis的`mybatis-...

    Spring配置文件如何使用${username}

    在Spring框架中,我们可以使用&lt;context:property-placeholder&gt;标签来覆盖系统配置。例如:&lt;context:property-placeholder local-override="true" location="classpath:conn.properties"&gt;&lt;/context:property-...

    Spring与Mybatis三种常用整合方法

    &lt;context:property-placeholder location="jdbc.properties"/&gt; &lt;!-- 创建JDBC数据源 --&gt; &lt;bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"&gt; &lt;property name=...

    springmvc和mybatis整合

    在进行 Spring MVC 和 MyBatis 的整合时,需要完成以下几个关键步骤: 1. **搭建基础环境**:包括安装必要的软件如 Tomcat、Eclipse 等,以及设置 JDK 环境。 2. **创建项目结构**:包括创建 Maven 或 Eclipse 项目...

    SSM框架笔记

    - `&lt;context:property-placeholder&gt;`: 引用外部属性文件。 - `&lt;mvc:resources&gt;`: 配置静态资源路径。 - `&lt;tx:advice&gt;`: 配置事务通知。 - `&lt;tx:annotation-driven&gt;`: 开启基于注解的事务管理。 - `&lt;tx:jta-...

Global site tag (gtag.js) - Google Analytics