本篇文章主要内容是介绍如何使用IDEA创建spring + SpringMVC + MyBatis的一个web项目,下面会给出项目搭建的详细步骤以及相关的配置文件。
1.1 在File下拉->New -> project
1.2选择maven工程,勾选create from archetype,选择maven-archetype-webapp。next
1.3 填写groupid和artifactid。next
1.4设置maven home 。next
1.5 打开pom.xml加入坏境所需的依赖pox.xml
4.0.0
com.test
first-ssm
1.0-SNAPSHOT
war
first-ssm Maven Webapp
http://www.example.com
UTF-8
UTF-8
4.2.5.RELEASE
3.2.8
5.1.29
1.7.18
1.2.17
jstl
jstl
1.2
javax
javaee-api
7.0
junit
junit
4.11
test
org.springframework
spring-core
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-oxm
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-aop
${spring.version}
org.springframework
spring-test
${spring.version}
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
mysql
mysql-connector-java
${mysql-driver.version}
commons-dbcp
commons-dbcp
1.2.2
com.alibaba
fastjson
1.1.41
log4j
log4j
${log4j.version}
org.slf4j
slf4j-api
${slf4j.version}
org.slf4j
slf4j-log4j12
${slf4j.version}
org.codehaus.jackson
jackson-mapper-asl
1.9.13
com.fasterxml.jackson.core
jackson-core
2.8.0
com.fasterxml.jackson.core
jackson-databind
2.8.0
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
first-ssm
maven-clean-plugin
3.0.0
maven-resources-plugin
3.0.2
maven-compiler-plugin
3.7.0
maven-surefire-plugin
2.20.1
maven-war-plugin
3.2.0
maven-install-plugin
2.5.2
maven-deploy-plugin
2.8.2
1.6 设置工程的jdk等
1.7 添加工程目录并设置工程目录属性,java目录为sources,resources的目录属性为resources
1.8 目录结构如下所示。
二、代码部分
bean:
package ssm.bean;
/**
* @author chenjw
* @version v1.0.0
* @description
* @date Created in 2018/8/3 10:07
*/
public class User {
private String id;
private String name;
private String age;
set,get略
}
dao:
package ssm.dao;
import org.springframework.stereotype.Repository;
import ssm.bean.User;
/**
* @author chenjw
* @version v1.0.0
* @description
* @date Created in 2018/8/3 10:11
*/
@Repository
public interface UserDao {
User showUser(String id);
}
service:
package ssm.service;
import ssm.bean.User;
/**
* @author chenjw
* @version v1.0.0
* @description
* @date Created in 2018/8/3 10:14
*/
public interface UserService {
User showUser(String id);
}
serviceImpl
package ssm.service;
import ssm.bean.User;
import ssm.dao.UserDao;
import javax.annotation.Resource;
/**
* @author chenjw
* @version v1.0.0
* @description
* @date Created in 2018/8/3 10:15
*/
public class UserServiceImpl implements UserService{
@Resource
private UserDao uDao;
public User showUser(String id) {
return uDao.showUser(id);
}
}
package ssm.controller;
import org.apache.log4j.Logger;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import ssm.bean.User;
import ssm.service.UserService;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @author chenjw
* @version v1.0.0
* @description
* @date Created in 2018/8/3 10:17
*/
@Controller
@RequestMapping("/uus")
public class UserController {
@Autowired
private UserService uService;
private static final Logger LOG = Logger.getLogger(UserController.class);
@RequestMapping("/get.do")
public User showUser(HttpServletRequest req, HttpServletResponse resp){
User u = uService.showUser("1");
LOG.info("....==>"+u.getName());
return u;
}
}
userMapper.xml
jdbc.properties
driverClasss=com.mysql.jdbc.Driver
jdbcUrl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&autoReconnect=true&autoReconnectForPools=true
username=root
password=root
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
log4j.properties
log4j.rootLogger=INFO,Console,File
#控制台日志
log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.Target=System.out
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n
#普通文件日志
log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=logs/ssm.log
log4j.appender.File.MaxFileSize=10MB
#输出日志,如果换成DEBUG表示输出DEBUG以上级别日志
log4j.appender.File.Threshold=ALL
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=[%p][%t][%d{yyyy-MM-dd HH\:mm\:ss}][%C] - %m%n
spring-mvc.xml
text/html;charset=UTF-8
spring-mybatis.xml
sql语句
DROP TABLE IF EXISTS `t_user`;
CREATE TABLE `t_user` (
`id` varchar(255) NOT NULL,
`name` varchar(255) DEFAULT NULL,
`age` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records of t_user
-- ----------------------------
INSERT INTO `t_user` VALUES ('1', 'xiaoming', '11');
web.xml
Archetype Created Web Application
contextConfigLocation
classpath:spring-mybatis.xml
log4jConfigLocation
classpath:log4j.properties
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
SpringMVC
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
true
SpringMVC
/
/index.jsp
15
三、设置tomcat
启动tomcat
四、页面访问,有如下结果就成功了。