springMVC+maven+mybatis+Intellij IDEA环境搭建

来源:互联网 发布:淘宝助理可以编辑什么 编辑:程序博客网 时间:2024/05/16 19:05

 之前工作中一直用springMVC和ibatis,现在要从0开始学习maven和mybatis,所以这篇博客就记录我的学习maven,mybatis,intellij IDEA的心路历程。

          首先说一下IDEA,先要知道它是什么吧。所以我查看了Intellij IDEA百度百科。了解到它是java语言的集成开发环境,之前工作中我一直用的是myeclipse,所以现在要从myeclipse转型到IDEA。其实就是一个工具而已,没什么难的,多用几次就会了,就熟练了。就想当初从eclipse转型到myeclipse一样,感觉myeclipse比eclipse多好多内容,很难,现在myeclipse不也乖乖的成为了咱们手中开发的利器了嘛。所以这里idea不多做解释。

       下面说说maven,因为是0基础,所以,我们首先也要看一下Maven百度百科,先知道它是一个什么东东吧。

       接下来在简单说说mybatis,因为之前公司一直用ibatis,都说ibatis和mybatis差别不大,具体也没太研究过2者的细微差别,现在我们就开始搭建IDEA+maven+springMVC+mybatis的开发环境,在使用中学习他们的用法。

    假设我们已经下载好了IDEA,并成功安装到本机。接下来我们创建一个Maven项目,首先new project,选择Maven,构建一个空的Maven项目,在创建Maven项目的时候,需要输入GroupId和ArtiFactId以及Version,三者简称GAV,先简单介绍一下GAV名词感念。GroupId表示项目的名称,ArtiFactId表示项目的模块名称(建议用项目名称-模块名称来表示),Version表示项目版本的名称,GAV输入(groupID:SpringMVC;ArtiFactId:SpringMVC-Demo,version:默认)完成后,IDEA就自动给我们构建了一个空的maven项目,如下图所示:



       由于我们要集成SpringMVC,所以我们首先把项目的目录结构整理清楚。首先我们先要弄清搭建项目的一般流程,需要注意哪些方面,想要什么样的效果,自己的功能有哪些?

(假设效果:项目目录结构清晰,能够查询到本地数据库中的内容。。)

1.  工程目录结构整理清楚

我们在src/main/java文件夹中,新建包cn.springmvc.model(存放javabean),

                                            cn.springmvc.dao(存放spring与mybatis连接接口),

                                            cn.springmvc.service(service接口),

                                            cn.springmvc.service.impl(service接口的实现),

                                            cn.springmvc.controller(存放控制层controller)

在src/main/resource文件夹中,新建包conf(存放配置文件),

                                                   mapper(mybatis的mapper文件)

在src/test/java文件夹中,新建包cn.springmvc.test(存放测试文件)

在WEB-INF文件夹下新建jsp文件夹(存放jsp文件)

这样项目结构基本完成了,如下图所示:

 

 下面我们需要引入所需要的jar包。

   查找依赖结构有个不错的网站,http://search.maven.org/   只要输入包名即可查找引来关系

  下面我们先引入springMVC包,打开http://search.maven.org/   如下图所以:


 
 

      

     

 我们选择一个版本,点击pom,如下图所示:



 



然后将上面这段代码copy,粘贴到pom.xml文件中,如下图所示:



 
然后idea会自动构建,引入springMVC所需的jar包,构建成功后,多出来了一下jar文件



 

 
 
 
 接下来,我们按照同样的方法,分别导入mybatis-spring,junit,aspectjweaver,javax.servlet-api,mysql-connector-java,commons-dbcp-all,cglib,jstl。

先来解释一下这几个jar的作用是什么:

junit,就是junit包,测试用的,这个包一般在构建maven项目的时候会自动包含。

spring-webmvc包,这个包,就是SpringMVC的包。似乎里面已经基本包含了SpringMVC所需的jar包了。

mybatis-spring包是mybatis与spring结合的包,因为使用maven来构建的项目,所以会自动把mybatis相关的包也包含进来。

aspectjweaver就是面向方面(面向切面)的包,虽然SpringMVC已经实现了aop面向方面,但是SpringMVC的aop也是基于这个包,所以必须导入。

javax.servlet-api,这个servlet的api,不用说了,你懂的。

mysql-connector-java是mysql的java驱动。

commons-dbcp-all这个是连接池。

cglib就是代理的包,通常aop都是通过代理来实现的。

jstl就是jstl的包,因为项目里面,视图层用的是jstl。

在这里,所需的jar包基本已经包含。

 最后借助这个网站把依赖包配置文件都copy到pom.xml中后,pom.xml的文件内容如下所示:

Pom.xml代码  收藏代码
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"  
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">  
  5.     <modelVersion>4.0.0</modelVersion>  
  6.   
  7.     <groupId>SpringMVC</groupId>  
  8.     <artifactId>SpringMVC-Demo</artifactId>  
  9.     <version>1.0-SNAPSHOT</version>  
  10.   
  11.   
  12.    <dependencies>  
  13.        <!-- spring-web-->  
  14.        <dependency>  
  15.            <groupId>org.springframework</groupId>  
  16.            <artifactId>spring-web</artifactId>  
  17.            <version>4.0.3.RELEASE</version>  
  18.            <scope>compile</scope>  
  19.        </dependency>  
  20. <!-- junit-->  
  21.        <dependency>  
  22.            <groupId>junit</groupId>  
  23.            <artifactId>junit</artifactId>  
  24.            <version>4.10</version>  
  25.        </dependency>  
  26.        <!-- mybatis-spring-->  
  27.        <dependency>  
  28.            <groupId>org.mybatis</groupId>  
  29.            <artifactId>mybatis-spring</artifactId>  
  30.            <version>1.2.2</version>  
  31.        </dependency>  
  32.   
  33.        <!--aspectjweaver -->  
  34.        <dependency>  
  35.            <groupId>org.aspectj</groupId>  
  36.            <artifactId>aspectjweaver</artifactId>  
  37.            <version>1.8.0</version>  
  38.        </dependency>  
  39.   
  40.        <!--javax.servlet-api-->  
  41.        <dependency>  
  42.        <groupId>javax.servlet</groupId>  
  43.        <artifactId>javax.servlet-api</artifactId>  
  44.        <version>3.1.0</version>  
  45.        </dependency>  
  46.   
  47.        <!--mysql-connector-java-->  
  48.        <dependency>  
  49.            <groupId>mysql</groupId>  
  50.            <artifactId>mysql-connector-java</artifactId>  
  51.            <version>5.1.30</version>  
  52.        </dependency>  
  53.   
  54.        <!--commons-dbcp-all-->  
  55.        <dependency>  
  56.            <groupId>org.apache.openejb</groupId>  
  57.            <artifactId>commons-dbcp-all</artifactId>  
  58.            <version>1.3-r699049</version>  
  59.        </dependency>  
  60.   
  61.        <!--cglib-->  
  62.        <dependency>  
  63.            <groupId>cglib</groupId>  
  64.            <artifactId>cglib</artifactId>  
  65.            <version>3.1</version>  
  66.        </dependency>  
  67.   
  68.        <!--jstl-->  
  69.        <dependency>  
  70.            <groupId>jstl</groupId>  
  71.            <artifactId>jstl</artifactId>  
  72.            <version>1.2</version>  
  73.        </dependency>  
  74.    </dependencies>  
  75. </project>  

 自动引入的依赖库,截图如下:

 

 ok,到现在为止所需jar包已经引入完毕。时间也到了23:56分了。今天就写到这里,未完待续。。。。。。

0 0
原创粉丝点击