`
longgangbai
  • 浏览: 7309379 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring2.5+IBatis+JPA+Compass 注解应用

阅读更多

新年伊始,开始复习一些旧的知识:

Spring 2.5+Ibatis+JPA+Compass整合应用

使用 lib文件如下:

 

  <classpathentry kind="lib" path="src/commons-dbcp.jar"/>
 <classpathentry kind="lib" path="src/commons-logging.jar"/>
 <classpathentry kind="lib" path="src/commons-pool.jar"/>
 <classpathentry kind="lib" path="src/compass-2.2.0.jar"/>
 <classpathentry kind="lib" path="src/IKAnalyzer.jar"/>
 <classpathentry kind="lib" path="src/lucene-analyzers.jar"/>
 <classpathentry kind="lib" path="src/lucene-core.jar"/>
 <classpathentry kind="lib" path="src/lucene-highlighter.jar"/>
 <classpathentry kind="lib" path="src/lucene-queries.jar"/>
 <classpathentry kind="lib" path="src/lucene-snowball.jar"/>
 <classpathentry kind="lib" path="src/lucene-spellchecker.jar"/>
 <classpathentry kind="lib" path="src/mysql-connector-java-3.2.0-alpha-bin.jar"/>

 

 

在Spring+Ibatis+Compasss整合事必须注意的几点:

(1)Spring和IBatis的事务的整合

(2)IBatis和Compass整合时采用的GpsDevice不同:(在Compass正对JPA,Spring,hibernate,Ibatis的GpsDevice不同配置可能不同)

 

 IBatis配置如下:

 <!--
  关于JPA的配置
 -->
 <bean id="jpaGpsDevice"
  class="org.compass.gps.device.ibatis.SqlMapClientGpsDevice">
  <property name="name">
   <value>JpaGpsDevice</value>
  </property>
  <property name="sqlMapClient"
   ref="sqlMapClient" />
   <property name="selectStatementsIds">
    <value>select blogid from blog</value>
   </property>
 </bean>

 

橘红色部分不配置的错误如下:

 Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'compassGps' defined in class path resource [spring-search.xml]: Invocation of init method failed; nested exception is java.lang.IllegalArgumentException: {JpaGpsDevice}: Must set selectStatementsIds property
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1336)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:471)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
 at java.security.AccessController.doPrivileged(Native Method)
 at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
 at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
 at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:220)
 at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
 at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
 at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:429)
 at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:729)
 at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:381)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
 at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
 at com.vnvtrip.search.ibatis.blog.test.BlogTest.main(BlogTest.java:14)
Caused by: java.lang.IllegalArgumentException: {JpaGpsDevice}: Must set selectStatementsIds property
 at org.compass.gps.device.ibatis.SqlMapClientGpsDevice.doStart(SqlMapClientGpsDevice.java:98)
 at org.compass.gps.device.AbstractGpsDevice.start(AbstractGpsDevice.java:124)

 

其他地方配置不同的框架一样:

 

<!--
      根据dataSource和configLocation创建一个SqlMapClient
     -->
  <bean id="sqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">      
     <property name="configLocation" value="sql-map-config.xml"/>
      <property name="dataSource">
   <ref bean="dataSource" />
  </property>
    </bean>
 <!--
       创建SqlMapClient的模板对象
     -->
     <bean id="sqlMapClientTemplate" class="org.springframework.orm.ibatis.SqlMapClientTemplate">
         <property name="sqlMapClient">
   <ref bean="sqlMapClient" />
   </property>
 </bean>

 <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
         <property name="dataSource" ref="dataSource"/>
 </bean>

 

 

Compass配置如下:
 
 <!-- 注解事物的應用 -->
 <tx:annotation-driven transaction-manager="txManager" />

 <bean id="jpaGpsDevice"
  class="org.compass.gps.device.ibatis.SqlMapClientGpsDevice">
  <property name="name">
   <value>JpaGpsDevice</value>
  </property>
  <property name="sqlMapClient"
   ref="sqlMapClient" />
   <property name="selectStatementsIds">
    <value>select blogid from blog</value>
   </property>
 </bean>

 

详细的看源代码:

 

 

 

 

 

分享到:
评论

相关推荐

    struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分

    分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...

    struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分

    分为:struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _01部分 struts2.1.8 + spring 2.5 + ibatis 2 整合开发包_ _02部分 只要将这两个包全下载下来,就可以搭建struts2.1.8 + spring 2.5 + ibatis2整合开发的...

    struts1.3+spring2.5+ibatis2.3.4整合

    struts1.3+spring2.5+ibatis2.3.4整合

    Struts2+Spring2.5+Ibatis2.3架构

    Struts2+Spring2.5+Ibatis2.3架构是一种经典的Java Web开发技术栈,广泛应用于企业级应用系统中。这个架构结合了Struts2的MVC框架、Spring的依赖注入(DI)和面向切面编程(AOP)以及Ibatis的持久层解决方案,为...

    Structs2.0+Spring2.5+Ibatis整合例子

    本项目"Structs2.0+Spring2.5+Ibatis整合例子"就是这样一个示例,展示了如何将Struts2、Spring和iBatis这三个流行的技术栈整合在一起,以实现MVC(模型-视图-控制器)架构。以下将详细阐述这三个框架的核心功能以及...

    Struts2+Spring2.5+Ibatis完整增删改查Demo(含全部jar包)

    这个"Struts2+Spring2.5+iBatis完整增删改查Demo"提供了一个完整的集成示例,包括所有必要的jar包,使得开发者可以快速在Mycelipse环境中搭建并运行项目。 **Struts2框架**: Struts2是基于MVC设计模式的Web应用...

    Ext2.0+struts2+spring2.5+ibatis2

    在IT领域,构建高效、可扩展的企业级应用是至关重要的,而"Ext2.0+Struts2+Spring2.5+Ibatis2"的组合就是一种常见的技术栈,用于实现这样的目标。这个技术组合提供了从用户界面到数据访问的全方位解决方案。 **Ext...

    SSI2 Struts2+Spring2.5+IBatis2 配置

    Struts2、Spring2.5 和 iBatis2 是经典的Java Web开发框架组合,它们各自在应用程序的不同层面提供了强大的功能。下面将详细讲解这三大框架的集成配置以及log4j的相关知识。 首先,Struts2 是一个基于MVC(Model-...

    spring2.5+ibatis3+web service cxf 例子MyEclipse工程

    标题 "spring2.5+ibatis3+web service cxf 例子MyEclipse工程" 描述了一个集成开发环境(IDE)MyEclipse中的项目实例,该实例涉及了多个关键的Java技术栈,包括Spring 2.5、iBatis 3和Web服务框架CXF。这些技术在...

    struts2+spring2.5+ibatis

    Struts2、Spring2.5和iBatis是经典的Java Web开发框架组合,它们共同构建了一个灵活、高效的企业级应用程序架构。在这个组合中,Struts2作为MVC(Model-View-Controller)框架负责处理用户请求,Spring2.5则提供依赖...

    struts2 + spring2.5 + ibatis2.3.4整合包文件

    这个"struts2 + spring2.5 + ibatis2.3.4整合包文件"包含了这三个框架的集成,用于搭建一个完整的Java Web应用程序。以下是对这些框架及其整合的详细说明: 1. Struts2:Struts2是基于Apache Struts 1的升级版,它...

    SSI--struts2+spring2.5+ibatis项目实例

    **SSI(Struts2 + Spring2.5 + iBatis)项目实例详解** SSI,即Struts2、Spring和iBatis的组合,是Java Web开发中常见的技术栈,用于构建高效、灵活的企业级应用程序。这个项目实例展示了如何将这三个框架集成到...

    SSI(struts2+spring2.5+ibatis2.3)项目实例

    **SSI(Struts2+Spring2.5+Ibatis2.3)项目实例详解** **一、Struts2框架** Struts2是一个基于MVC设计模式的Java Web开发框架,它继承了Struts1和WebWork的优点,提供了一种更灵活、更强大的控制层解决方案。在SSI...

    struts2+spring+Ibatis框架包

    Struts2、Spring和iBatis是Java Web开发中三个非常重要的开源框架,它们共同构建了一个灵活、可扩展且高效的应用程序开发环境。这个“struts2+spring+iBatis框架包”集成了这三个框架,使得开发者能够快速构建基于...

    整合struts2+spring2.5+ibatis

    Struts2、Spring2.5和iBatis是Java Web开发中的三大框架,它们的整合使用可以帮助开发者构建高效、灵活的MVC(Model-View-Controller)架构的应用程序。Struts2作为表现层框架,提供了丰富的动作调度和结果处理;...

    Struts1.1+spring2.5+ibatis2.3+Ajax整合的源代码

    Struts1.1+Spring2.5+Ibatis2.3+Ajax整合是一个经典的Java Web开发框架组合,常用于构建企业级应用。这个源代码集合提供了如何将这四个技术有效地结合在一起的实例,以实现一个功能强大的、具有无刷新特性的用户界面...

Global site tag (gtag.js) - Google Analytics