`

struts 2.3.7+spring3.2.0+MyBatis3.1 整合

    博客分类:
  • java
阅读更多
最近无聊,就想着做一下ssm的整合~在网上先去找资料,但是发现大多都不是入门级。尤其是需要哪些jar,都没有注明出来。

    那么我就写一篇,算作是入门的教程,高手勿拍砖~

           一、准备工作

           首先去找struts的.  http://struts.apache.org/ 下载最新的struts 2.3.7. (在发这篇文章前我发现已经升级到了2.3.8)

    然后再去找spring的.  http://www.springsource.org/spring-framework 下载spring-framework-3.2.0.RELEASE-dist

     最后自然就是MyBatis3.0的  http://code.google.com/p/mybatis/downloads/list?can=3&q=Product%3DMyBatis  下载MyBatis的-3.1.1-bundle  

       二、提取需要用到的jar

           这里呢,我就直接做ssm的整合。 不分解做。所以不理解的童鞋可以先照我的做。 下去后可以自己度娘,谷哥去找分解整合。

          struts需要的jar:                                    spring 所需的jar:                       MyBatis所需的jar           其他所需jar

          struts2-core-2.3.7.jar                          spring-aop.jar                      mybatis-3.1.1.jar       commons-dbcp-1.4.jar
          xwork-core-2.3.7.jar                            spring-beans.jar        mybatis-spring-1.0.0.jar        commons-pool.jar
          commons-fileupload-1.2.2.jar                spring-context.jar                       dom4j.jar
          commons-lang3-3.1.jar                        spring-core.jar                         log4j.jar
          commons-logging-1.1.1.jar                   spring-jdbc.jar                         cglib-2.2.jar
          freemarker-2.3.19.jar                           spring-orm.jar                         classes12.jar     
          ognl-3.0.5.jar                                      spring-tx.jar                         
          javassist-3.12.0.GA.jar                        spring-web.jar
         commons-collections-3.1.jar                 spring-expression.jar      

        struts2-spring-plugin-2.3.7.jar              

       OK,我们已经提取出了整合所需的基本jar。 本人用的是oracle数据库,所以引入了classes12.jar。可以根据自己的需求换。

         我们先把这些jar放到我们项目的lib下。这个我想大家都会。

        

           到现在为止我们把所需要的jar全部导入进去了。 但是还没有关联。那么现在我们开始做关联配置。

    applicationContext.xml       

?<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd 
    http://www.springframework.org/schema/aop 
    http://www.springframework.org/schema/aop/spring-aop-3.0.xsd 
    http://www.springframework.org/schema/tx  
    http://www.springframework.org/schema/tx/spring-tx-3.0.xsd ">
     
    <!-- 配置DataSource数据源 -->
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <value>classpath:jdbc.properties</value>
        </property>
    </bean>
      
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${db.driver}" />
        <property name="url" value="${db.url}" />
        <property name="username" value="${db.username}" />
        <property name="password" value="${db.password}" />
        <property name="initialSize" value="${db.initialSize}" />
        <property name="maxActive" value="${db.maxActive}" />
        <property name="validationQuery" value="${db.validationQuery}" />
        <!--<property name="defaultAutoCommit" value="${db.defaultAutoCommit}"></property>
         --></bean>
     
    <!-- 配置事务管理器,注意这里的dataSource和SqlSessionFactoryBean的dataSource要一致,不然事务就没有作用了 -->
    <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
         
    </bean>
         
   <!-- 创建SqlSessionFactory,同时指定数据源 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <!--  
        <property name="configLocation" value="classpath:mybatis-config.xml"></property>
        -->
    </bean>
     
    <!-- 配置事务的传播特性 -->
    <bean id="baseTransactionProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean" abstract="true">
        <property name="transactionManager" ref="transactionManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="add*">PROPAGATION_REQUIRED</prop>
                <prop key="edit*">PROPAGATION_REQUIRED</prop>
                <prop key="remove*">PROPAGATION_REQUIRED</prop>
                <prop key="insert*">PROPAGATION_REQUIRED</prop>
                <prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="del*">PROPAGATION_REQUIRED</prop>
                <prop key="cancel*">PROPAGATION_REQUIRED</prop>
                <prop key="*">readOnly</prop>
            </props>
        </property>
    </bean>
     
    <!-- 单独配置一个Mapper; 这种模式就是得给每个mapper接口配置一个bean -->
    <!-- 
    <bean id="accountMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> 
        <property name="mapperInterface" value="com.hoo.mapper.AccountMapper" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" /> 
    </bean> 
    <bean id="companyMapper" class="org.mybatis.spring.mapper.MapperFactoryBean"> 
        <property name="mapperInterface" value="com.hoo.mapper.CompanyMapper" />
        <property name="sqlSessionFactory" ref="sqlSessionFactory" /> 
    </bean>
     --> 
    <!-- 通过扫描的模式,扫描目录在com/hoo/mapper目录下,所有的mapper都继承SqlMapper接口的接口, 这样一个bean就可以了 <BR>    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.mobile.mapper"/>
        <property name="markerInterface" value="com.mobile.mapper.SqlMapper"/>
    </bean>-->
</beans>
jdbc.properties


1 db.driver=oracle.jdbc.driver.OracleDriver
2 db.url=jdbc:oracle:thin:@localhost:1521:orcl
3 db.username=
4 db.password=
5 db.alias=OraclePool
6 db.minIdle=5
7 db.maxIdle=10
8 db.maxWait=5
9 db.maxActive=20
10 db.initialSize=10
11 db.logWriter=
12 db.validationQuery=SELECT 1 FROM DUAL mybatis.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
    <!-- 别名 -->
    <typeAliases>
       
    </typeAliases>
</configuration>struts.xml


<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
 
    <package name="my-default" abstract="true" extends="struts-default">
       
    </package>
   
</struts> 到此为止,我们已经把框架整合到了一起。

部署到tomcat运行。


2012-12-29 11:38:13 org.apache.catalina.core.AprLifecycleListener init
信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\Java\jdk1.6.0_25\bin;.;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Program Files/Java/jre6/bin/client;C:/Program Files/Java/jre6/bin;C:/Program Files/Java/jre6/lib/i386;F:\oracle\product\11.1.0\db_1\bin;C:\Program Files\Broadcom\Broadcom 802.11 Network Adapter;;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\WIDCOMM\Bluetooth Software\;C:\Program Files\MySQL\MySQL Server 5.5\bin;C:\Program Files\Java\jdk1.6.0_25\bin;C:\Program Files\Java\jdk1.6.0_25\jre\bin;F:\Program Files\apache-maven-3.0.4\bin;f:\program files\eclipse;
2012-12-29 11:38:13 org.apache.tomcat.util.digester.SetPropertiesRule begin
警告: [SetPropertiesRule]{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:ssm' did not find a matching property.
2012-12-29 11:38:13 org.apache.coyote.http11.Http11Protocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2012-12-29 11:38:13 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 482 ms
2012-12-29 11:38:13 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-12-29 11:38:13 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.32
2012-12-29 11:38:14 org.apache.catalina.core.ApplicationContext log
信息: Initializing Spring root WebApplicationContext
2012-12-29 11:38:14,936 [org.apache.ibatis.logging.LogFactory]-[DEBUG] Logging initialized using 'org.apache.ibatis.logging.commons.JakartaCommonsLoggingImpl' adapter.
2012-12-29 11:38:14,949 [org.mybatis.spring.SqlSessionFactoryBean]-[DEBUG] Property 'configLocation' not specified, using default MyBatis Configuration
2012-12-29 11:38:16,155 [org.mybatis.spring.SqlSessionFactoryBean]-[DEBUG] Property 'mapperLocations' was not specified or no matching resources found
2012-12-29 11:38:17 org.apache.coyote.http11.Http11Protocol start
信息: Starting Coyote HTTP/1.1 on http-8080
2012-12-29 11:38:17 org.apache.jk.common.ChannelSocket init
信息: JK: ajp13 listening on /0.0.0.0:8009
2012-12-29 11:38:17 org.apache.jk.server.JkMain start
信息: Jk running ID=0 time=0/22  config=null
2012-12-29 11:38:17 org.apache.catalina.startup.Catalina start
信息: Server startup in 3410 ms有错误信息~~ 请不要紧张。是因为我们并没有把mybatis完全整合进来。

配置文件里注释掉了引用。这些等项目架构规划好都可以放开使用。

本人也是初次做ssm的整合。

谨以此文献给那些想学习ssm 整合的童鞋们。

分享到:
评论

相关推荐

    struts 2.3.7+spring3.2.0+MyBatis3.1

    Struts 2.3.7、Spring 3.2.0 和 MyBatis 3.1 是三个在Java企业级开发中广泛使用的开源框架,它们分别负责不同的职责,共同构建了一个强大的后端服务架构。 **Struts 2.3.7** 是一个基于MVC(Model-View-Controller...

    基于注解Annotation的最新版SSH(Struts2.3.7+Hibernate4.1.9+Spring3.2.0)框架整合开发

    基于注解Annotation的最新版SSH(Struts2.3.7+Hibernate4.1.9+Spring3.2.0)整合开发,真正实现零配置。 最新版本Struts、Spring、Hibernate框架整合: struts-2.3.7 spring-framework-3.2.0.RELEASE hibernate-...

    Struts2.3.7+Spring3.0.0+Hibernate4.0.0整合源码

    本整合源码提供了Struts2.3.7、Spring3.0.0和Hibernate4.0.0的集成示例,帮助开发者理解如何在实际项目中将这三个框架无缝连接。 Struts2是基于Action和拦截器的MVC框架,它通过配置文件或注解定义Action与URL的...

    struts2.3.7+spring3.0.0简单示例

    示例在Struts2.3.7环境中集成Spring3.0框架。 没有过多的代码,主要想描述Spring如何与Struts整合,以及他们的工作原理。 如果需要ssh整合框架,请转到:http://blog.csdn.net/xz2001

    struts2.3.7+spring3.1.1+hibernate4.1.6

    这个压缩包"struts2.3.7+spring3.1.1+hibernate4.1.6"提供了这三个框架的特定版本,适用于构建基于Java的企业级Web应用程序。 **Struts2** 是一个用于构建MVC(Model-View-Controller)架构的开源框架,它是Apache...

    Struts2.3.7+Spring3.2+Hibrenate4.1.8

    Struts2.3.7、Spring3.2和Hibernate4.1.8是经典的Java Web开发框架组合,常被称为SSH框架。这个组合为开发者提供了强大的MVC(模型-视图-控制器)架构支持,数据库持久化处理以及依赖注入功能。下面我们将详细探讨这...

    struts2.3.7、 spring3.1.0、 hibernate4.0.0 整合源码

    4. **整合Struts2与Spring**: 使用`struts-plugin.xml`文件配置Struts2的Spring插件,使Struts2能够通过Spring加载Action。 5. **整合Spring与Hibernate**: 在Spring配置文件中添加Hibernate的SessionFactory,数据...

    struts2.3.7-spring3.0.0-hibernate3.6.10 整合源码

    在整合struts2.3.7-spring3.0.0-hibernate4.0.0时,发现spring3.0不支持hibernate4.0版本,后来自己整合了两套版本,一个是struts2.3.7-spring3.1.0-hibernate4.0.0,将spring升级,一个是struts2.3.7-spring3.0.0-...

    struts2.3.7 与 spring3.0.0 缺少的jar包

    struts2.3.7 与 spring3.0.0 缺少的jar包: com.springsource.org.apache.commons.logging-1.1.1.jar struts2-spring-plugin-2.3.7.jar。

    struts2.3.7-spring3.1.0-hibernate4.0.0 整合源码

    这个源码包"struts2.3.7-spring3.1.0-hibernate4.0.0 整合源码"提供了一个完整的示例,展示了如何将这三个框架协同工作,实现MVC(模型-视图-控制器)架构和持久化层的高效管理。 Struts2是Apache软件基金会下的一...

    springboot2.3 整合mybatis-plus 高级功能

    Spring Boot 2.3 整合 MyBatis-Plus 高级功能 MyBatis-Plus 是一个基于 MyBatis 的增强工具,提供了许多高级功能来简化数据访问层的开发。Spring Boot 2.3 提供了完善的支持来整合 MyBatis-Plus,从而实现高效、...

    struts2.3.7.jar

    Struts2.3.7.jar 是一个非常重要的Java Web开发框架——Apache Struts 2的特定版本库文件。Struts 2是基于Model-View-Controller(MVC)设计模式的开源框架,它极大地简化了Java Servlets和JSP应用程序的开发。这个...

    struts2.3.7所有jar包

    5. **struts2-tiles-plugin.jar**:整合了Tiles框架,方便页面布局和重用。 6. **其他依赖的库文件**:如ognl(Object-Graph Navigation Language)用于表达式语言,freemarker或velocity模板引擎,以及log4j或slf4...

    struts 2.3.7 jar

    9. `struts2-spring-plugin-2.3.7.jar`:Spring集成插件,支持Spring框架的依赖注入和AOP。 10. `commons-logging-api-1.1.jar`和`log4j-1.2.17.jar`:日志处理库,用于记录框架运行时信息。 以上组件共同构成了...

    最新版struts2.3.7.chm

    2012年最新版struts2.3.7.chm帮助文档

    struts 2.3.7 简单示例

    struts 2.3.7简单示例。...示例实现用户登录功能,由于该示例是ssh整合的第一步,所以并未包含Spring、Hibernate框架,仅是Struts2的示例。 如果需要其他整合,请看:http://blog.csdn.net/xz2001/

    Spring3+Hibernate4+Struts2 jar包 SSH框架

    spring 3.2.0+hibernate 4.1.6+struts2整合需要的jar包 的目录 antlr-2.7.7.jar aopalliance-1.0.jar asm-3.3.jar asm-commons-3.3.jar aspectjweaver-1.5.3.jar bonecp-0.7.1.RELEASE.jar cglib-2.1.3.jar ...

    struts2.3.7.chm

    最新struts2帮助文档,绝对保证是struts2.3.7最新版本,并且是chm格式的。自己动手做的,希望大家喜欢!

    Struts2必须的几个包(Struts2.3.7)

    5. **commons-lang3-3.1.jar**:Apache Commons Lang是Java语言工具包,提供了许多实用的辅助函数,例如字符串操作、日期和时间处理等,这些在Struts2的实现中非常有用。 6. **ognl-3.0.5.jar**:Object-Graph ...

Global site tag (gtag.js) - Google Analytics