iteye_14986 2013-12-19 16:29
浏览 993
已采纳

spring+mybatis 的 basePackage 配置问题

预制条件: win7 32位的系统
spring配置文件:

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">

<property name="basePackage"  value="org.lost.dao.mapper" />

......

</bean>

工程文件路径深度:org.lost.dao.mapper.package.class,org.lost.dao.mapper.package.package.class(mapper下模块比较多,10+)

问题描述:

在 32位系统下,启动会报错:

严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: org.springframework.beans.FatalBeanException

在64位系统下,可以正常启动。

32位系统下,修改配置文件:value="org.lost.dao.mapper.a,org.lost.dao.mapper.b,org.lost.dao.mapper.c",这样是可以正常启动的,但是当value值分配超过 6个模块的时候,启动报同样的错误(FatalBeanException)。

 

试过的如下解决方法,但是没成功:

1. value="org.lost.dao.mapper.*",启动报错(FatalBeanException)

2.value="org.lost.dao.mapper.*.*",value="org.lost.dao.mapper.(\\.\\w+)*",value="org.lost.dao.mapper.(\.\w+)*",value= " ‘org.lost.dao.mapper.(\.\w+)* ’ ",value= " #{‘org.lost.dao.mapper.(\.\w+)* ’} ",

<property name="basePackage" /><value></value>org.lost.dao.mapper.(\.\w+)*</property>

启动成功,但是运行项目找不到相关的 bean,错误:Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'TestMapper' is defined

 

目前问题,是在32位系统下,跑项目会有问题。

寻求  32位系统下的解决方法。

 

  • 写回答

5条回答

  • Qi_w2006 2013-12-19 19:47
    关注

    如果是报缺少类的问题,肯定是缺少某个类,跟系统多少位没关系.
    可能跟你的应用服务器有关系
    另外,提供下我现在的配置方法


    对于你说的启动成功但找不到类的问题,说明下:你一定要保证加载顺序:
    1. 先回载dao类,再加载service类,再加载controller类,顺序不能乱
    2. 举例:


    controller必须在service下面.

    PS:你的 TestMapper 是什么类?

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图点聚合中Marker的位置无法实时更新
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题