Keywords:spring2.0,annotatedPackages
最近在做多数据库支持访问,使用spring的配置方式,在
junit下测试没有问题,但是启动平台就加载不到实体jar包,spring配置文件如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedPackages">
<list>
<value>cn.ac.iscas.core.entity</value>
</list>
</property>
...
经过反复试验,类包始终加载不到,hibernate访问数据库时,一直报not mapped entity。
为何在junit下没有问题,但在平台启动环境下就是不行,换用实体工具的
AnnotationFactory试验,
<bean id="sessionFactory" class="cn.ac.intec.entity.orm.AnnotationFactory">
<property name="dataSource" ref="dataSource" />
<property name="annotatedPackages">
<list>
<value>cn.ac.iscas.core.doors</value>
</list>
</property>
...
结果还是无法加载类包,数据库中无法自动创建表。
无奈之下,查看实体工具源代码,结果发现
AnnotationFactory是我们自己的实现,重写了
setAnnotatedPackages(String[]
annotatedPackages),而这个函数就是加载类包及自动搜索annotated
class的,但是,这个方法依赖于原有的Appcontex,对于重新定义的Spring BeanFactory,他是无法自动去帮助加载类包的。(原来的实体工具没考虑到多数据库的扩展:))
继续无奈!最终,总算在Internet和google的帮助下,查到spring
2.0对annotatedPackages的支持不好,基本成功不了。好在类不是很多,用annotatedClasses方式是可以的,于是修改配置
文件如下:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="annotatedClasses">
<list>
<value>cn.ac.iscas.core.doors.Module</value>
<value>cn.ac.iscas.core.doors.Basecompare</value>
<value>cn.ac.iscas.core.doors.Baseline</value>
<value>cn.ac.iscas.core.doors.BaselinePK</value>
<value>cn.ac.iscas.core.doors.Enumerationdata</value>
<value>cn.ac.iscas.core.doors.Modreqproperty</value>
<value>cn.ac.iscas.core.doors.Modulereqstat</value>
<value>cn.ac.iscas.core.doors.Property</value>
<value>cn.ac.iscas.core.doors.Reqinfo</value>
</list>
</property>
...
再次启动平台,一切问题都解决了~~~
浪费了我一下午3小时+早晨1小时啊
总结:spring2.0自带的AnnotationSessionFactoryBean不好用,用
annotatedClasses可以解决问题,但只适合class较少的情况,如果class比较多,还是自己实现
AnnotationSessionFactoryBean的子类,自己去遍历annotatedClass比较好。
另:Spring 2.5.6中,增加了<
property
name
="packagesToScan"
value
="com.**.bo"
/>
,
总算是解决了自动扫描类包的问题,相关资料请参考:
《Spring
2.5.6新特性之packagesToScan》
《Spring下使用
Hibenrate annotation》
欢迎大家留言支持:)
分享到:
相关推荐
《Spring2.0宝典源代码》是一份珍贵的学习资源,由知名作者李刚编写,旨在深入解析Spring框架的2.0版本。这份源代码集合是配合书籍《Spring2.0宝典》使用的,读者可以通过实际操作代码来理解和掌握Spring 2.0的核心...
Spring 2.0 是一个非常重要的Java框架,它在企业级应用开发中占据了核心地位,尤其是在基于Java的轻量级应用程序上下文(IoC)和面向切面编程(AOP)方面。本手册和使用指南提供了全面的Spring 2.0相关知识,包括其...
Spring 2.0是Spring框架的一个重要版本,它在Java企业级应用开发中扮演着核心角色。本教程将深入探讨...文档`spring2.0-reference_final_zh_cn.chm`将详细阐述这些概念和技术,帮助你成为一名熟练的Spring开发者。
Spring 2.0的AOP增强了切入点表达式,使得定位切点更加灵活,并引入了基于注解的切面定义,让切面编写更加直观。 四、数据访问集成 Spring 2.0在数据访问层提供了对各种持久化技术的集成,包括JDBC、ORM(Hibernate...
Spring 2.0 标准API 用处不大的资源我不发
Spring 2.0 中文教程 Spring框架是Java企业级应用开发的重要工具,它以其模块化、松耦合和依赖注入为核心,极大地简化了Java应用的构建。在Spring 2.0版本中,引入了许多重要的改进和新特性,使得开发者能够更加...
Spring 2.0是Spring框架的一个重要版本,它在2006年发布,标志着Spring框架的显著进步和发展。这个版本引入了许多新特性,优化了已有功能,并为开发者提供了更强大的工具来构建企业级Java应用。以下是Spring 2.0中的...
### SPRING2.0开发详解 #### 一、Spring框架简介 Spring框架是一个开源的Java平台,用于构建企业级应用程序和服务。它最初由Rod Johnson在2004年创建,并随着时间的发展不断壮大和完善。Spring 2.0版本是Spring...
Spring 2.0 是Spring框架的一个重要版本,它在Java企业级应用开发中扮演着核心角色。这个版本引入了许多新特性,增强了框架的功能和灵活性。本文将深入探讨Spring 2.0源代码中的关键知识点,帮助开发者理解其内部...
《Spring 2.0 中文参考手册》是一个详尽阐述 Spring 框架核心特性和扩展功能的重要资源,尤其对于中文开发者来说,它提供了一条理解 Spring 2.0 版本的关键途径。Spring 是一个广泛应用的 Java 开发框架,以其模块化...
Spring 2.0是Java开发中的一个里程碑,它在企业级应用开发中扮演着至关重要的角色,特别是对于依赖注入(IoC)和面向切面编程(AOP)的支持。本学习提纲旨在为初学者提供一份详尽的Spring 2.0学习指南,帮助他们系统...
Spring 2.0 中文参考手册,Spring 2.0 中文参考手册,Spring 2.0 中文参考手册,Spring 2.0 中文参考手册Spring 2.0 中文参考手册,
《Spring 2.0 学习源码》是开发者们深入理解Spring框架核心机制的重要参考资料。这个压缩包包含了Spring 2.0版本的源代码,为程序员提供了宝贵的探索与学习平台。Spring作为Java领域的主流框架,其2.0版本是一个重要...
《Spring 2.0 技术手册》是学习和深入理解Spring框架不可或缺的参考资料,而提供的源代码无疑为开发者提供了亲自动手实践的机会。在这个压缩包中,包含了该手册涉及的全部十章节的源码,这为我们深入研究Spring 2.0...
《Spring2.0技术手册_林信良》是一本深入探讨Spring 2.0框架的权威指南,由知名IT专家林信良编写。这本书详细介绍了Spring框架的核心概念、设计原则以及实际应用,对于想要深入了解和掌握Spring 2.0的开发者来说,是...
### Spring 2.0 技术手册核心知识点详解 #### 一、Spring 框架简介 Spring 是一个开源框架,最初由 Rod Johnson 创建。它是一个轻量级的控制反转(IoC)容器,用于简化 Java 应用程序的开发。Spring 2.0 版本...
spring2.0jar包(一) spring2.0jar包(一) spring2.0jar包(一) spring2.0jar包(一) spring2.0jar包(一) spring2.0jar包(一) spring2.0jar包(一)
本书介绍了Spring 2.0的新特性,诸如Spring 2.0的新配置、新AOP支持、增强的IoC、JDBC和form标签等新功能。它通过实际完成一个完整的Spring项目示例,展示了与Spring相关API的使用技巧,能够显著减少每一位入门者...
《精通Spring 2.0源代码》是一本深入解析Spring框架核心原理的书籍,由罗时飞主编。这本书通过对Spring 2.0版本的源代码进行深入剖析,旨在帮助读者全面理解Spring的工作机制,提升在实际开发中的应用能力。源代码的...