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 #MATLAB仿真#车辆换道路径规划
  • ¥15 java 操作 elasticsearch 8.1 实现 索引的重建
  • ¥15 数据可视化Python
  • ¥15 要给毕业设计添加扫码登录的功能!!有偿
  • ¥15 kafka 分区副本增加会导致消息丢失或者不可用吗?
  • ¥15 微信公众号自制会员卡没有收款渠道啊
  • ¥100 Jenkins自动化部署—悬赏100元
  • ¥15 关于#python#的问题:求帮写python代码
  • ¥20 MATLAB画图图形出现上下震荡的线条
  • ¥15 关于#windows#的问题:怎么用WIN 11系统的电脑 克隆WIN NT3.51-4.0系统的硬盘