之前工作中一直用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的开发环境,在使用中学习他们的用法。
在创建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的文件内容如下所示:
<?xml version="1.0" encoding="UTF-8"?><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/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>SpringMVC</groupId>
<artifactId>SpringMVC-Demo</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<!-- spring-web-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.0.3.RELEASE</version>
<scope>compile</scope>
</dependency>
<!-- junit-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
<!-- mybatis-spring-->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!--aspectjweaver -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.8.0</version>
</dependency>
<!--javax.servlet-api-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
<!--mysql-connector-java-->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.30</version>
</dependency>
<!--commons-dbcp-all-->
<dependency>
<groupId>org.apache.openejb</groupId>
<artifactId>commons-dbcp-all</artifactId>
<version>1.3-r699049</version>
</dependency>
<!--cglib-->
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib</artifactId>
<version>3.1</version>
</dependency>
<!--jstl-->
<dependency>
<groupId>jstl</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
</project>
自动引入的依赖库,截图如下:
ok,到现在为止所需jar包已经引入完毕。时间也到了23:56分了。今天就写到这里,未完待续。。。。。。