Intellij idea 通过maven搭建SSM框架

参考自: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,点击下一步


Intellij idea 通过maven搭建SSM框架_第1张图片
1.png

Intellij idea 通过maven搭建SSM框架_第2张图片
2.png

2.填好GroupId和ArtifactId,点击下一步


Intellij idea 通过maven搭建SSM框架_第3张图片
3.png

3.给项目配置本地maven仓库,配置好后点击下一步
①maven的root文件夹
②maven的setting.xml
③maven下载的库需要保存到哪个文件夹


Intellij idea 通过maven搭建SSM框架_第4张图片
4.png

4.填写你的工程名称(此步骤可以直接下一步),填好后点击下一步


Intellij idea 通过maven搭建SSM框架_第5张图片
5.png

5.等待maven创建模板,创建好后控制台会输出BUILD SUCCESS字样,右下角选择Enable Auto-Import自动导入,至此maven的web项目就创建好了。


Intellij idea 通过maven搭建SSM框架_第6张图片
6.png

6.在src/main/下创建一个文件夹并命名为java,然后右键java文件夹标记为Sources Root,以后所有的java class全部写在这里。


Intellij idea 通过maven搭建SSM框架_第7张图片
7.png

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


Intellij idea 通过maven搭建SSM框架_第8张图片
8.png

8.1.2配置数据库连接信息
在resources文件夹下新建jdbc.properties(记得文件编码改为UTF-8)文件内容这里给出,具体参数请自行配置


Intellij idea 通过maven搭建SSM框架_第9张图片
9.png
#驱动名称
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,这里给出模板,当然这里你可以选择跟我的创建方式一样或者不一样,我的创建方式如图所示


Intellij idea 通过maven搭建SSM框架_第10张图片
10.png

Intellij idea 通过maven搭建SSM框架_第11张图片
11.png

Intellij idea 通过maven搭建SSM框架_第12张图片
12.png


    
    
    
    
        
    

    
        
        
        
        
        
        
        
        
        
        
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
    

    
    
        
    

配置文件根据项目自行配置,必须要更改的几处我已标出,如图所示


Intellij idea 通过maven搭建SSM框架_第13张图片
13.png

此外还需在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配置,如图


Intellij idea 通过maven搭建SSM框架_第14张图片
14.png

Intellij idea 通过maven搭建SSM框架_第15张图片
15.png

点击应用,确定之后idea右上角会有运行配置选项


Intellij idea 通过maven搭建SSM框架_第16张图片
16.png

点击运行,控制台输出BUILD SUCCESS后表示生成成功,此时对应包中已经有对应文件了


Intellij idea 通过maven搭建SSM框架_第17张图片
17.png

8.1.6编写测试类测试Spring+Mybatis是否整合成功
首先需要在src文件夹下创建个test文件夹并标记为Test Sources Root,如图


Intellij idea 通过maven搭建SSM框架_第18张图片
18.png

之后在test文件夹下创建test包,并新建Test类


Intellij idea 通过maven搭建SSM框架_第19张图片
19.png

我们回到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

测试结果:


Intellij idea 通过maven搭建SSM框架_第20张图片
20.png

至此,完成Spring+Mybatis整合!

②整合SpringMVC
8.2.1首先和spring-mybatis.xml一样在resources文件夹下创建一个spring-mvc.xml,然后与spring-mybatis.xml一样配置一下


Intellij idea 通过maven搭建SSM框架_第21张图片
21.png

文件内容如下



    
    

    
    
        
            
                text/html;charset=UTF-8
            
        
    
    
    
        
            
                   
            
        
    
    
    
        
        
        
    

    
    
        
        
        
        
        
        
    

需要注意的是spring高版本已经去掉了AnnotationMethodHandlerAdapter
需要修改的地方已在图中标出


Intellij idea 通过maven搭建SSM框架_第22张图片
22.png

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


Intellij idea 通过maven搭建SSM框架_第23张图片
23.png

Intellij idea 通过maven搭建SSM框架_第24张图片
24.png

Intellij idea 通过maven搭建SSM框架_第25张图片
25.png

Intellij idea 通过maven搭建SSM框架_第26张图片
26.png

27.png

tomcat启动后,输入http://localhost:8080/user/showUser?id=1

Intellij idea 通过maven搭建SSM框架_第27张图片
28.png

至此,Spring+SpringMVC+Mybatis三大框架整和完成!

你可能感兴趣的:(Intellij idea 通过maven搭建SSM框架)