Spring MVC+Maven+Freemarker+Mybatis开发环境搭建
版权声明:本文为博主原创文章,未经博主允许不得转载。
利用STS(Spring Tool Suite)开发工具可以很方便的创建一个基于Maven的Spring MVC工程项目。然后再分别集成Freemarker以及Mybatis。
STS官网下载地址:点此下载Spring Tool Suite 运行STS后,
设置下工作空间的默认编码方式为UTF-8,Window->Preferences->General->Workspace。
配置下JRE,选择你自己安装的JDK(如1.8的版本),Window->Preferences->Java->Installed JREs 。
配置Maven本地仓库位置,默认是C盘路径,Window->Preferences->Maven->User Settings,可以自己安装个Maven,若嫌麻烦则默认用STS自带的即可不用配置。
1.创建一个Spring MVC项目
File->New->Spring Legacy Project,弹出向导后输入项目名称并选择Spring MVC Project,然后Next,
输入包名,Finish。第一次创建会提示下载模板文件,点下载即可,创建好的工程目录如下:
运行项目Run as -> Run on Server ,可以用Tomcat 作为服务器,自己自行配置。如果项目有错误,请检查Build Path 以及pom.xml中的jar包是否在maven本地仓库中下载好了。
运行成功后,会打印出Hello world 以及服务器的时间,时间若是乱码,在jsp中 加上charset=utf-8即可。
2.集成Freemarker
表现层技术主要有三种:jsp、freemarker、velocity。
其实集成Freemarker是可选的,jsp就很好了。三者优缺点都有,看个人喜好吧。
1)在pom.xml中添加Freemarker 依赖:
<!-- freemarker 依赖于 spring-context-support-->
<dependency>
<groupId>org.freemarker</groupId>
<artifactId>freemarker</artifactId>
<version>2.3.23</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
2)找到servlet-context.xml,添加Freemarker的配置
为了看起来更简洁,beans和mvc的命名空间前缀调换了下,自己可以对照着更改。
文件在最后列出来了,在此不重复列出
Freemarker配置中的视图后缀可以是任意的,默认的是.ftl .
如果要配置多个视图解析器,如同时配置jsp和Freemarker,那么Freemarker的优先级要设置的比jsp的高,通过order来设置。
很简单,就这两步,配置完后,运行成功则表示Freemarker配置成功。
3.集成Mybatis
实体映射框架可能会选择Hibernate,个人觉得Hibernate难学点,特别是那些对应关系。而Mybatis是半自动映射框架,灵活性高,学起来也简单。
1)依赖jar
<!-- mybatis -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.2.6</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.2.2</version>
</dependency>
<!-- microsoft jdbc -->
<dependency>
<groupId>net.sourceforge.jtds</groupId>
<artifactId>jtds</artifactId>
<version>1.3.1</version>
</dependency>
<!-- 事务 -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<!-- 导入dbcp的jar包 -->
<dependency>
<groupId>commons-dbcp</groupId>
<artifactId>commons-dbcp</artifactId>
<version>1.4</version>
</dependency>
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
驱动是Sqlserver的,自己可以替换成其他的
2)jdbc.properties
hibernate.dialect=org.hibernate.dialect.SQLServerDialect
driverClassName=net.sourceforge.jtds.jdbc.Driver
validationQuery=SELECT 1
jdbc_url=jdbc:jtds:sqlserver://127.0.0.1:1433/PTMPDB
jdbc_password=12345
jdbc_username=part_user
- 1
- 2
- 3
- 4
- 5
- 6
3)spring-mybatis.xml
文件在后面列举出来了,在此不重复列举
4)最后别忘了将spring-mytabis.xml 让spring容器加载进去,在web.xml中加入:
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/spring/root-context.xml,classpath:spring-mybatis.xml</param-value>
</context-param>
- 1
- 2
- 3
- 4
至此配置已经完成了,最后还得测试下是否集成成功。
4.Mybatis自动生成工具
可以根据数据库表自动生成dao、mapping、entity。Mybatis实体映射自动生成工具下载
运行项目,看是否能成功连接数据库并且能查出数据以验证是否配置成功。
1)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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.jykj</groupId>
<artifactId>demo</artifactId>
<name>Demo</name>
<packaging>war</packaging>
<version>1.0.0-BUILD-SNAPSHOT</version>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java-version>1.6</java-version>
<org.springframework-version>4.1.2.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-framework-bom</artifactId>
<version>${org.springframework-version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.15</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<