参考自:http://blog.csdn.net/w8897282/article/details/71173211/
http://blog.csdn.net/gebitan505/article/details/44455235/
所需lib库可以到仓库搜索:http://mvnrepository.com/
1.首先需要在本地安装一个Maven仓库并配置环境变量,然后修改setting.xml
//...
正式搭建:
1.新建maven项目,勾选使用模板并选择webapp,点击下一步
2.填好GroupId和ArtifactId,点击下一步
3.给项目配置本地maven仓库,配置好后点击下一步
①maven的root文件夹
②maven的setting.xml
③maven下载的库需要保存到哪个文件夹
4.填写你的工程名称(此步骤可以直接下一步),填好后点击下一步
5.等待maven创建模板,创建好后控制台会输出BUILD SUCCESS字样,右下角选择Enable Auto-Import自动导入,至此maven的web项目就创建好了。
6.在src/main/下创建一个文件夹并命名为java,然后右键java文件夹标记为Sources Root,以后所有的java class全部写在这里。
7.通过maven添加所需的libs,这里给出教程中pom.xml完整配置
4.0.0
war
demo
buckler.demo
demo
1.0-SNAPSHOT
org.mortbay.jetty
maven-jetty-plugin
6.1.7
8888
30000
${project.build.directory}/${pom.artifactId}-${pom.version}
/
UTF-8
4.1.4.RELEASE
3.2.8
1.7.7
1.2.17
2.5.0
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
1.2.2
org.springframework
spring-test
${spring.version}
test
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-core
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-context
${spring.version}
org.springframework
spring-context-support
${spring.version}
org.springframework
spring-tx
${spring.version}
org.springframework
spring-web
${spring.version}
org.springframework
spring-jdbc
${spring.version}
javax.servlet
javax.servlet-api
3.0.1
provided
javax.servlet.jsp
jsp-api
2.2
provided
mysql
mysql-connector-java
5.1.30
commons-dbcp
commons-dbcp
1.2.2
jstl
jstl
1.2
log4j
log4j
${log4j.version}
com.alibaba
fastjson
1.1.41
org.codehaus.jackson
jackson-mapper-asl
1.9.13
com.fasterxml.jackson.core
jackson-databind
2.1.0
com.fasterxml.jackson.core
jackson-annotations
2.1.0
commons-fileupload
commons-fileupload
1.3.1
commons-io
commons-io
2.4
commons-codec
commons-codec
1.9
org.springframework
spring-test
4.1.7.RELEASE
junit
junit
RELEASE
8.添加各个框架的配置文件
①首先来配置Spring+Mybatis的整合
8.1.1项目结构如图所示,添加相关的package,并删除WEB-INF下的applicationContext.xml和log4j.xml
8.1.2配置数据库连接信息
在resources文件夹下新建jdbc.properties(记得文件编码改为UTF-8)文件内容这里给出,具体参数请自行配置
#驱动名称
driver=com.mysql.jdbc.Driver
#连接地址
url=jdbc:mysql://localhost:3306/demo?useUnicode=true&characterEncoding=utf-8
#用户名
username=root
#密码
password=
#定义初始连接数
initialSize=0
#定义最大连接数
maxActive=20
#定义最大空闲
maxIdle=20
#定义最小空闲
minIdle=1
#定义最长等待时间
maxWait=60000
8.1.3配置log4j
在resources文件夹下新建log4j.properties,这里给出模板
#定义LOG输出级别
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=[%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] [%d{yyyy-MM-dd HH\:mm\:ss}][%c]%m%n
【重点】8.1.4配置spring-mybatis.xml
同样是在resources下创建一个spring-mybatis.xml,这里给出模板,当然这里你可以选择跟我的创建方式一样或者不一样,我的创建方式如图所示
配置文件根据项目自行配置,必须要更改的几处我已标出,如图所示
此外还需在pom.xml中添加如下代码,如果不添加,则会报找不到.xml文件(FlieNoFound)的错误,这里给出部分代码请自行添加到
demo
src/main/java
**/*.xml
true
8.1.5使用Mybatis Generator生成对应映射文件
创建方法有两种,一种是通过cmd执行创建,一种是通过idea插件生成文件到指定包中,这里已idea插件生成配置文件到指定包中作为讲解(cmd的方式创建完成后还需手动复制到对应的包中,我个人倾向于能懒一点懒一点,有方便的插件为什么不用呢哈哈)
首先在pom.xml中添加插件,添加到
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.5
true
true
在resources下创建generatorConfig.xml文件,文件内容这里给出
具体参数太多,完整版配置已给出,在此不作讲解!
配置好后在Run->Edit Configurations添加一个maven配置,如图
点击应用,确定之后idea右上角会有运行配置选项
点击运行,控制台输出BUILD SUCCESS后表示生成成功,此时对应包中已经有对应文件了
8.1.6编写测试类测试Spring+Mybatis是否整合成功
首先需要在src文件夹下创建个test文件夹并标记为Test Sources Root,如图
之后在test文件夹下创建test包,并新建Test类
我们回到service包下创建IUserService接口和UserServiceImpl实现类,下面给出具体内容
IUserService.java
package demo.buckler.service;
import demo.buckler.pojo.User;
public interface IUserService {
public User getUserById(int id);
}
UserServiceImpl.java
package demo.buckler.service.impl;
import demo.buckler.dao.UserMapper;
import demo.buckler.pojo.User;
import demo.buckler.service.IUserService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@Service("userService")
public class UserServiceImpl implements IUserService {
@Resource
private UserMapper userMapper;
public User getUserById(int id) {
return userMapper.selectByPrimaryKey(id);
}
}
回到测试包编写Test测试类,下面给出具体内容
Test.java
package demo.buckler.test;
import com.alibaba.fastjson.JSON;
import demo.buckler.pojo.User;
import demo.buckler.service.IUserService;
import org.apache.log4j.Logger;
import org.junit.runner.RunWith;
import org.springframework.test.context.ContextConfiguration;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
import javax.annotation.Resource;
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = {"classpath:spring-mybatis.xml"})
public class Test {
private static Logger logger = Logger.getLogger(Test.class);
@Resource
private IUserService userService = null;
@org.junit.Test
public void test() {
for (int i = 1; i <= 3; i++) {
User user = userService.getUserById(i);
System.out.println("userId:" + user.getId());
System.out.println("userName:" + user.getName());
System.out.println("password:" + user.getPassword());
logger.info(JSON.toJSON(user));
}
}
}
执行过程中如遇ServiceImpl中dao报错,请参考:
http://blog.csdn.net/u012453843/article/details/54906905
测试结果:
至此,完成Spring+Mybatis整合!
②整合SpringMVC
8.2.1首先和spring-mybatis.xml一样在resources文件夹下创建一个spring-mvc.xml,然后与spring-mybatis.xml一样配置一下
文件内容如下
text/html;charset=UTF-8
需要注意的是spring高版本已经去掉了AnnotationMethodHandlerAdapter
需要修改的地方已在图中标出
8.2.2配置web.xml
Archetype Created Web Application
contextConfigLocation
classpath:spring-mybatis.xml
log4jRefreshInterval
60000
org.springframework.web.util.Log4jConfigListener
encodingFilter
org.springframework.web.filter.CharacterEncodingFilter
encoding
UTF-8
encodingFilter
/*
org.springframework.web.context.ContextLoaderListener
org.springframework.web.util.IntrospectorCleanupListener
mvc-dispatcher
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:spring-mvc.xml
1
mvc-dispatcher
/
15
index.jsp
8.2.3测试
首先在controller里新建一个UserController
package demo.buckler.controller;
import demo.buckler.pojo.User;
import demo.buckler.service.IUserService;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import javax.annotation.Resource;
import javax.servlet.http.HttpServletRequest;
@Controller
@RequestMapping("/user")
public class UserController {
@Resource
private IUserService userService;
@RequestMapping("/showUser")
public String toIndex(HttpServletRequest request, Model model) {
int id = Integer.parseInt(request.getParameter("id"));
User user = this.userService.getUserById(id);
model.addAttribute("user", user);
return "showUser";
}
}
8.2.4配置tomcat
tomcat启动后,输入http://localhost:8080/user/showUser?id=1
至此,Spring+SpringMVC+Mybatis三大框架整和完成!