环境
操作系统: Windows 10
IDE: IntelliJ IDEA 2017.2.4
构建工具: Maven
搭建环境
一、创建项目
- 新建项目:
File
->New
->Project...
在弹窗左侧菜单选择Maven
,勾选Maven模板(即勾上Create from archetype
前的复选框),选择maven-archrtype-webapp
;
- 输入项目信息:
GroupId
、ArtifactId
- 在弹窗中选择自己本地的Maven仓库路径,也可使用默认仓库路径,在
Properties
中添加参数:archetypeCatalog=internal
,不然创建项目结构的过程将很慢;
原因:
当我们使用Maven原型生成项目骨架时会执行
mvn archetype:generate
命令,而该命令执行时需要指定一个archetype-catelog.xml
文件,该命令的参数-DarchetypeCatelog
,参数可选值为:remote
、internal
、local
等,用于指定archetype-catelog.xml
文件读取位置;默认是remote
,即从http://repo1.maven.org/maven2/archetype-catalog.xml
下载,而文件约为3~4M,下载速度很慢,导致创建过程卡住。
- 输入项目名称,单击
Finish
。
生成Maven项目骨架如图:
- 在
src/main
目录下创建java
目录,并标记目录为Sources Root
;
二、配置项目
- 使用maven引入项目所需的jar包,
相关jar可以使用http://mvnrepository.com/搜索;
pom.xml
4.0.0
com.lwh
SSM-Demo
war
1.0-SNAPSHOT
SSM-Demo Maven Webapp
http://maven.apache.org
4.3.10.RELEASE
3.4.4
1.3.0
5.1.38
1.2
1.2.32
1.2.17
1.7.25
junit
junit
4.12
test
javax.servlet
servlet-api
2.5
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis-spring.version}
mysql
mysql-connector-java
${mysql-driver.version}
jstl
jstl
${jstl.version}
log4j
log4j
${log4j.version}
com.alibaba
fastjson
${fastjson.version}
com.fasterxml.jackson.core
jackson-databind
2.8.8
com.fasterxml.jackson.core
jackson-core
2.8.8
com.fasterxml.jackson.core
jackson-annotations
2.9.0
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
SSM-Demo
- 在
src/main/resources
目录下新建jdbc.properties
文件,用于配置数据库连接;
jdbc.properties
jdbc.driver = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost:3306/ssmdemo?useUnicode=true&characterEncoding=utf8
jdbc.username = root
jdbc.password = root
- 在
src/main/resources
目录下新建spring-mvc.xml
文件,用于配置springMVC:
spring-mvc.xml
- 在
src/main/resources
目录下新建spring-mybatis.xml
文件,用于整合spring和mybatis:
- 在
src/main/resources
目录下新建文件夹mybatis
,在mybatis
目录下新建mybatis-config.xml
文件,用于配置mybatis:
- 配置
web.xml
文件:
Archetype Created Web Application
contextConfigLocation
classpath*:spring-mybatis.xml
org.springframework.web.context.ContextLoaderListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
forceEncoding
true
encodingFilter
/*
DispatcherServlet
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath*:spring-mvc.xml
DispatcherServlet
/
20
- 新建测试实体
User.java
:
package com.ssmdemo.entity;
public class User {
private Integer id;
private String loginName;
private String password;
private String userName;
//Getter and Setter...
}
- 创建Dao接口
IUserDao.java
:
package com.ssmdemo.dao;
import com.ssmdemo.entity.User;
import org.springframework.stereotype.Repository;
import java.util.List;
@Repository
public interface IUserDao {
/**
* 查询用户列表
* @return
*/
List listUsers();
}
- 实现Dao接口:
在src/main/resources
目录下新建文件夹mapper
,用于保存mapper需要的xml文件,新建UserMapper.xml
文件,用于实现IUserDao
;
- 创建Service接口
IUserService.java
:
package com.ssmdemo.service;
import com.ssmdemo.entity.User;
import java.util.List;
public interface IUserService {
List listUsers();
}
- 实现Service接口
UserServiceImpl.java
:
package com.ssmdemo.service.impl;
import com.ssmdemo.dao.IUserDao;
import com.ssmdemo.entity.User;
import com.ssmdemo.service.IUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
@Service
public class UserServiceImpl implements IUserService {
@Resource
private IUserDao userDao;
public List listUsers() {
return this.userDao.listUsers();
}
}
- 配置Controller
UserController.java
:
package com.ssmdemo.controller;
import com.alibaba.fastjson.JSONObject;
import com.ssmdemo.entity.User;
import com.ssmdemo.service.IUserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import java.util.List;
@Controller
public class UserController {
@Autowired
private IUserService userService;
@RequestMapping(value = "/users")
public String queryUsers(Model model) {
List users = this.userService.listUsers();
model.addAttribute("users", users);
return "user";
}
}
- 创建jsp页面,在
WEB-INF
下创建文件夹jsp
,并在jsp
目录下创建文件user.jsp
:
<%--
Created by IntelliJ IDEA.
User: lwhhhp@gmail.com
Date: 2017/10/9
Time: 17:28
To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
用户列表
用户列表
序号
登录名
用户名
${user.id}
${user.loginName}
${user.userName}
三、项目部署
- 新建Tomcat容器,在工具栏中单击运行按钮;
- 添加Tomcat;
- 配置Tomcat;
四、运行
成功运行如图:
参考
解决IntelliJ IDEA 创建Maven项目速度慢问题 DarchetypeCatalog
原文地址:https://www.lwhweb.com/2017/10/05/spring-springmvc-mybatis/