IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)

目前SSM(+用SpringMVC弹簧+ MyBatis的)框架是企业开发的JavaWeb比较流行的开发方案,不管是已经在工作的程序员还是在校的大学生都需要好好学一学。在学习完用SpringMVC,春天,MyBatis的之后对于怎么将这三个框架整合起来是一个难题。今日刚好学完这三个框架,在搭建成功之后将搭建的过程记录下来,希望可以帮助到有需要的朋友。

一,开发环境搭建

1,在这三个框架中,春季是存在最久和应用最广泛的框架。算是目前做的Java开发框架中的老大了。所以不管是整合还是用SpringMVC MyBatis的或是休眠等其他的框架,都是以Spring为主导的。我整个的Spring和SpringMVC的版本是4.3.18,Mybatis的版本是3.4.6。

2,在整合中我使用的IDE是IDEA,对于这个IDE,用过的人都说好,相对于的Eclipse来说也是人性化了很多。说不定在未来不久,IDEA会成为主流。所以提前适应也不错。

3,在IDEA中搭建开发环境。

(1)打开IDEA,点击文件 - >新建 - >项目创建新的Java的项目。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第1张图片

(2)选择Java中,选中的WebApplication和Spring4点击下一步。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第2张图片

(3)给项目起个名字,然后点击完成。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第3张图片

(4)创建好后项目结构图如下,点击选中项目后按F4。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第4张图片

(5)在WEB-INF下创建类和LIB文件夹,分别用于存放编译后的Java的,JSP文件和罐子包。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第5张图片

(6)创建好后点击路径,选中使用模块complie输出路径,并将输出路径和测试输出路径更改为刚才创建的类文件夹。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第6张图片

(7)添加罐包路径。改为第6步创建的LIB文件夹。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第7张图片

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第8张图片

(8)配置的Tomcat服务器。具体步骤如图。配置完后网页项目就算搭建好了。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第9张图片

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第10张图片

如图4所示,导入罐包,包含SpringMVCjar包,Springjar包和MyBatis的和的MyBatis-springjar包。以及其他数据库连接需要的罐子包和实现其他功能的罐子包的.jar包看具体需要导入。将所有的罐包复制放进库文件夹。然后选中添加为库...就导入好了。导入完就将基本的开发环境搭建好了。关于整合需要的jar包我已经打包好了。有需要请点击下载。

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第11张图片

二,配置SSM框架所需配置文件和编写测试代码。

1,首先打开网页,XML,在其中配置春季需要的applicationContext.xml的文件和用SpringMVC需要的的applicationContext-Controller.xml文件。




    
        index.jsp
    


    
    
        org.springframework.web.context.ContextLoaderListener
    
    
    
        contextConfigLocation
        /WEB-INF/applicationContext.xml
    


    
    
        springDispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            /WEB-INF/applicationContext-controller.xml
        
        1
    

    
        springDispatcherServlet
        
        /
    

2,配置数据源文件。

driver=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
userName=Emove
password=root

3,配置applicationContext.xml中文件




    
    

    
    
    
        
        
            /WEB-INF/db.properties
        
    
    
    
        
        
        
        
    

    
    
        
        
        
        
    

    
    
        
        
        
        
    


    


如图4所示,配置的applicationContext-controller.xml文件





    
    
    
    
        
        
    

    
    

5,编写StudentMapper接口

package emove.spring.mapper;

import emove.spring.domain.Student;

public interface StudentMapper {

     Student queryStudentById(int stuNo);

}

6,编写studentmapper.xml配置文件





    

    
    

7,编写学生实体类。

package emove.spring.domain;

import org.springframework.stereotype.Component;

@Component("student")
public class Student {

    private int stuNo;
    private String stuName;
    private int stuAge;


    @Override
    public String toString() {
        return "Student{" +
                "stuNo=" + stuNo +
                ", stuName='" + stuName + '\'' +
                ", stuAge=" + stuAge +
                '}';
    }

    public int getStuNo() {
        return stuNo;
    }

    public void setStuNo(int stuNo) {
        this.stuNo = stuNo;
    }

    public String getStuName() {
        return stuName;
    }

    public void setStuName(String stuName) {
        this.stuName = stuName;
    }

    public int getStuAge() {
        return stuAge;
    }

    public void setStuAge(int stuAge) {
        this.stuAge = stuAge;
    }

    public Student() {
    }

    public Student(int stuNo, String stuName, int stuAge) {
        this.stuNo = stuNo;
        this.stuName = stuName;
        this.stuAge = stuAge;
    }
}

8,编写StudentService接口。

package emove.spring.service;

import emove.spring.domain.Student;
import org.springframework.stereotype.Service;

/**
 * Student类服务层接口
 */
public interface StudentService {

    public Student queryStudentById(int stuNo);
}

9,编写StudentServiceImpl实现类

package emove.spring.service.impl;

import emove.spring.domain.Student;
import emove.spring.mapper.StudentMapper;
import emove.spring.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service("studentService")
public class StudentServiceImpl implements StudentService {


    @Autowired
    private StudentMapper studentMapper;

    @Override
    public Student queryStudentById(int stuNo){
        Student student = studentMapper.queryStudentById(stuNo);
        return student;
    }

}

10,编写StudentController控制器

package emove.spring.controller;

import emove.spring.domain.Student;
import emove.spring.service.StudentService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

@Controller
@RequestMapping("StudentController")
public class StudentController {

    @Autowired
    @Qualifier("studentService")
    private StudentService studentService;

    @RequestMapping(value = "queryStudentById")
    public String queryStudentById(@RequestParam("stuNo") int stuNo, Map map){
        Student student = studentService.queryStudentById(stuNo);
        map.put("student",student);
        return "result";
    }

}

11,在index.jsp的中添加表格表单,用于测试。

学号:

12,在WEB-INF文件夹下新建视图文件夹,并添加result.jsp中文件,用于显示结果。


    结果如下:
${requestScope.student.stuNo}---${requestScope.student.stuName}---${requestScope.student.stuAge}

三,打开的tomcat服务器测试结果

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第12张图片

IDEA2018整合SSM(SpringMVC4、Spring4、MyBatis3.4.6)_第13张图片

四,总结

在编写完代码和配置文件后,启动的Tomcat时总是会遇到很多异常,这个时候请一定耐心。很大的可能性是配置文件的配置出了问题,请耐心检查,其次可能是因为罐包多了少了或者是版本不兼容问题。再有就是你的代码或者注解的问题啦。总之多检查几遍问题总是可以解决的。祝你好运!

你可能感兴趣的:(SSM)