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位系统下的解决方法。

 

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


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


controller必须在service下面.

PS:你的 TestMapper 是什么类?

我的spring3.1.2
mybatis-spring-1.1.1.jar
mybatis-3.1.1.jar

没出现你的问题

另外你的虚拟机装的32的还是64的

试试加上jvm参数 -Xss2m

[list]
[*]
[/list]

[list]
[*]123123
[*]123123123123
[/list]