MAVEN整合Spring+SpringMVC+Mybatis

2016/1/20 14:47:28


原创,转载请注明出处

曾经看过《那些年我们一起追过的女孩》,片中有个比较经典的画面,至今记忆犹新,柯景腾多年后,做了一名作家,每天面对电脑码字,背后是一张张一闪而过的字幅“人生就是不停的战斗”

作为程序员,我想一生就是不停的和BUG做战斗了,新来的这家公司,用的很老的Spring+Struts2.0+JDBC的框架,非常的不好用,其中的问题可以陈述10条以上,但是限于当时的技术水平所限,不能达到也很正常,所以我萌生了一个推翻重写后台的想法(从这到正文部分纯属装逼的,大神绕过,新人还是需要看一哈,熟悉一下为什么是MAVEN)

JAVA这门语言,之前看一个漫画是这么形容的,C++是加农炮,威力强大,什么都能炸;JAVA是一个手机,它能打电话叫来各种炮,炸的你爹妈不认得,但是它的JAR存在着依赖关系,比如Spring中的对AspectJ和JSR的支持是基于AspectJ和其他的JAR包的,你用它之前必须要先有依赖的jar包;项目中有两个典型的jar就是如此

  • aopalliance-1.0.jar 它是SpringAOP的基础依赖包
  • hamcrest-core-1.1.jar 他是Junit依赖的jar包

那么问题来了,我要是打电话,请人帮我“炸楼”,就好比JAVA请JAR包,我是不是连它爸妈一起请?我是不是要配置所有的依赖包,答案NO,因为我可以借助MAVEN这个神器啊,它会自动解析包的依赖关系去自动下载

在这个项目的搭建和第一次用maven没有人帮助我的情况下,能做出来还是有些小激动,也学习到了很多新的知识,重新把Spring学习了一遍,进一步理解了XML配置文件,SpringIOC和SpringAOP,惊叹于Spring框架的神奇之处,自己也掌握了许多Spring相关的技术,例如:Spring是支持JSON的,我们可以直接在控制层方法加@ResponseBody,可以自动返回JSON对象,So Easy

本文作者所用:所有东西的版本

  • MyEClipse GA 2014
  • Spring 4.2.4(最新)
  • Mybatis 3.3.0(最新)

参考博客

http://blog.csdn.net/zhshulin/article/details/37956105
http://blog.csdn.net/l349440843/article/details/45788017
http://blog.csdn.net/zhshulin/article/details/37937365

本文主要介绍的技术:(大神绕过)

  1. MAVEN搭建JAVA-WEB项目
  2. Spring的配置文件
  3. Junit单元测试
  4. Spring整合JSON输出
  5. Spring整合Mybatis不需要写DAO层代码
  6. Log4j控制输出,主要介绍扩展方式写日志进数据库的方式
  7. 代码注释的规范,和一些MyEclipse的规范操作(个人觉得规范的)

作为程序界的老鸟,看到这篇文章就自动过滤之前这一段,不过本作也真诚的希望你们能为我提出建议,谢谢,言归正传,开始操练

1.MAVEN

  • Maven是基于项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。
  • Maven 除了以程序构建能力为特色之外,还提供高级项目管理工具。由于 Maven 的缺省构建规则有较高的可重用性,所以常常用两三行 Maven 构建脚本就可以构建简单的项目。由于 Maven 的面向项目的方法,许多 Apache Jakarta 项目发文时使用 Maven,而且公司项目采用 Maven 的比例在持续增长。
  • 用MAVEN来管理jar包,不用一个一个去添加和下载jar包了,直接在maven配置文件中配置就可以了,maven可以帮助我们自动下载

1.1首先搭建一个maven项目

第一次新建MAVEN项目的筒子,你们在这里要稍微等一哈,MAVEN要去下载依赖

WEB项目点中上面的maven-archetype-webapp点击下一步


Group Id一般填公司的包名吧,第二个填公司名,其实我也不是很懂这个= =好像没有多大用

然后MAVEN就开始在US镜像仓库下载包和一些准备工作了你的MyEclipse的右下角,就会出现

至此,你的MAVEN项目就初步搭建好了

1.2那么接下来怎么搞

搭建好的MAVEN项目如下图

问题有两个,一个我,作为一个高逼格的程序员,一定要用最新版本的JRE环境,所以把项目构建改到最高版本,另外,报了一个 “javax.servlet.http.HttpServlet” was not found on the Java Build Path index.jsp错误,这是由于在index.jsp页面上缺少对JavaEE的支持,因此需要添加JavaEE的类库

  1. 右键工程–>properties–>JAVA Build Path–>Edit
  2. 在pox.xml中添加对JAVA EE的依赖

1.3最后是pom.xml的配置

如果遇到环境配置的问题,可以参考博文:MyEclipse+Tomcat+MAVEN+SVN项目完整环境搭建

点开pom.xml配置你的项目maven依赖,坐等几分钟,maven会下载JAR,如果不下载,或者停止,就点开MyEclipse 找到 MAVEN4MyEclipse 把下载按钮打开,或者还原为默认的

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.zjx</groupId>
  <artifactId>zjx</artifactId>
  <packaging>war</packaging>
  <version>0.0.1-SNAPSHOT</version>
  <name>zjx Maven Webapp</name>
  <url>http://maven.apache.org</url>

  <properties>  
        <!-- spring版本号 -->  
        <spring.version>4.2.4.RELEASE</spring.version>  
        <!-- mybatis版本号 -->  
        <mybatis.version>3.3.0</mybatis.version>  
        <!-- log4j日志文件管理包版本 -->  
        <slf4j.version>1.7.7</slf4j.version>
        <log4j.version>1.2.16</log4j.version>   
    </properties>

  <dependencies>

    <!-- 单元测试的依赖 --> 
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.10</version>
      <scope>test</scope>
    </dependency>   



        <!-- spring核心包 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-core</artifactId>  
            <version>${spring.version}</version>  
        </dependency> 

        <!-- spring对web的支持 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-web</artifactId>  
            <version>${spring.version}</version>  
        </dependency> 

        <!-- spring对ORM映射的支持-->   
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-oxm</artifactId>  
            <version>${spring.version}</version>  
        </dependency> 

        <!-- spring事务管理支持 -->   
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-tx</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  

        <!-- spring对JDBC的支持 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-jdbc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  

        <!-- spring对MVC框架的支持 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-webmvc</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  

        <!-- spring切面支持 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-aop</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  

        <!-- spring上下文支持 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-context-support</artifactId>  
            <version>${spring.version}</version>  
        </dependency>  

        <!-- spring测试支持 -->  
        <dependency>  
            <groupId>org.springframework</groupId>  
            <artifactId>spring-test</artifactId>  
            <version>${spring.version}</version>  
        </dependency> 

        <!-- AspectJ支持 -->
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjrt</artifactId>
            <version>1.5.4</version>
        </dependency> 
        <!-- 织入 -->
        <dependency>
            <groupId>aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.5.4</version>
        </dependency>

        <!-- mybatis核心包 -->  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis</artifactId>  
            <version>${mybatis.version}</version>  
        </dependency>  
        <!-- mybatis对spring的支持 -->  
        <dependency>  
            <groupId>org.mybatis</groupId>  
            <artifactId>mybatis-spring</artifactId>  
            <version>1.2.3</version>  
        </dependency>  

        <!-- 导入Mysql数据库链接jar包 -->  
        <dependency>  
            <groupId>mysql</groupId>  
            <artifactId>mysql-connector-java</artifactId>  
            <version>5.1.30</version>  
        </dependency> 

        <!-- 导入dbcp的jar包,用来在applicationContext.xml中配置数据库 -->  
       <dependency>
         
  • 7
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值