基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)

        本文主要基于Maven项目管理工具来搭建SSM框架,整合SpringMVC+Spring+Mybatis,无需手动导入jar包,方便快速。

        未使用Maven,手动导入jar包搭建SSM框架详解:https://blog.csdn.net/qq_40087415/article/details/80478681

未使用过Maven的小伙伴,使用Maven来搭建项目之前可以先参考Maven环境搭建教程把本机的Maven环境及本地仓库配置好。Maven安装及配置教程:https://blog.csdn.net/qq_40087415/article/details/79270832

开发环境:

  • Eclipse4.7.1
  • JDK1.8
  • Maven3.5.2
  • Tomcat8.0
  • MySQL5.6

搭建流程:

一:在Eclipse中创建Maven project

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第1张图片

点击Next,如下图勾选之后Next

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第2张图片

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第3张图片

点击Finish完成,显示如下项目结构:

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第4张图片

我们发现,pom.xml有红色×,不用紧张,我们只需右击项目,选择Java EE Tools  --->  Generate Deployment Descriptor Stub,稍等即可看到红色报错消失。

此刻,我们需要更改项目的 jdk 及 web 版本,右击项目,选择最后的属性properties ---> Project Facets

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第5张图片

按照上图选择完毕之后,点击Apply and Colse,我们在看项目结构,JDK已经变为1.8版本,到这里,基于Maven的Web项目已经创建好了。

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第6张图片

二:基于Maven整合SSM框架

  • 配置pom.xml文件,添加依赖如下:

  4.0.0
  com.ssm
  ssm-demo
  0.0.1-SNAPSHOT
  war
  
 	
        UTF-8
        4.3.11.RELEASE
        1.8.10
        2.9.1
        1.2.3
    

    
        
        
            commons-fileupload
            commons-fileupload
            1.3.3
        
        
            commons-io
            commons-io
            2.5
        
        
            org.apache.commons
            commons-lang3
            3.6
        
		
		    commons-dbcp
		    commons-dbcp
		    1.4
		

        
        
            org.springframework
            spring-aspects
            ${spring.framework.version}
        
        
            org.springframework
            spring-context
            ${spring.framework.version}
        
        
            org.springframework
            spring-jdbc
            ${spring.framework.version}
        
        
            org.springframework
            spring-webmvc
            ${spring.framework.version}
        
        
            org.springframework
            spring-context-support
            ${spring.framework.version}
        

        
        
            org.aspectj
            aspectjweaver
            ${aspectj.version}
        
        
            org.aspectj
            aspectjrt
            ${aspectj.version}
        

        
        
            org.mybatis
            mybatis
            3.4.5
        
        
            org.mybatis
            mybatis-spring
            1.3.1
        

        
        
            com.alibaba
            druid
            1.1.3
        

        
        
            mysql
            mysql-connector-java
            5.1.44
        

        
        
            com.fasterxml.jackson.core
            jackson-databind
            ${jackson.version}
        

        
        
            javax.servlet
            javax.servlet-api
            3.1.0
        

        
        
            javax.servlet
            jstl
            1.2
        

        
        
            ch.qos.logback
            logback-classic
            ${logback.version}
        

	 
  • 配置web.xml文件,配置如下:


  ssm-demo
	
    
        views/index.jsp
    
    
	
    
        characterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
        
            forceRequestEncoding
            true
        
    
    
        characterEncodingFilter
        /*
    

    
    
        springMVC
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-mvc.xml
        
        1
    
    
        springMVC
        /
    
    
    
    
        contextConfigLocation
        classpath:applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    
  • 在src/main/java下创建出controller,dao,mapper,service包,并在src/main/resources下创建spring核心配置文件applicationContext.xml,spring-mvc.xml文件。

applicationContext.xml配置如下:




    
    
	
	
	

    
    
        
        
        
        
        
    
    
    
    
        
        
    
    
	
		
		
	
	
    
    
        
    

    
    
        
            
            
            
            
        
    

    
    
        
        
    

    
    
    

spring-mvc.xml配置如下:



        
    
    
    
    
    
        
        
    

    
    
    
   
    
    
        
            
                
                
                    
                        
                            text/html; charset=UTF-8
                            application/json;charset=UTF-8
                        
                    
                
                
                
                    
                        
                            text/html; charset=UTF-8
                            application/json;charset=UTF-8
                        
                    
                
            
        
    
    
  • 在webapp下创建views文件夹,并新建index.jsp页面。
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	Hello Maven SSM.

现在为止,SSM已经整合完毕,我们来看一下整体项目结构,如下图:

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第7张图片

把项目部属到Tomcat中,运行一下,访问http://localhost:8080/ssm-demo/,默认进入配置的views/index.jsp页面。控制台跑起来不报错,并且能正常访问到index.jsp则表明基于Maven整合的SSM框架已经完成了。

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第8张图片

三:基于现搭好的SSM框架写一个简单的查询Demo

  • 创建user表,并插入模拟数据,SQL如下:
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(10) NOT NULL,
  `name` varchar(32) DEFAULT NULL,
  `address` varchar(64) DEFAULT NULL,
  `money` double DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records of user
-- ----------------------------
INSERT INTO `user` VALUES ('1', '张三', '上海', '20000');
INSERT INTO `user` VALUES ('2', '李四', '北京', '18000');
INSERT INTO `user` VALUES ('3', '王二', '广州', '16000');
  • 编写user实体类:User.java
package com.ssm.entity;

/**
 * @Description 用户表
 * @author 刘鹏博
 * @version v1.0
 * @date 2018年9月2日
 */
public class User {
	private Integer id;
	private String name;
	private String address;
	private double money;
	public Integer getId() {
		return id;
	}
	public void setId(Integer id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getAddress() {
		return address;
	}
	public void setAddress(String address) {
		this.address = address;
	}
	public double getMoney() {
		return money;
	}
	public void setMoney(double money) {
		this.money = money;
	}
}
  • 编写dao层查询接口,UserDao.java
package com.ssm.dao;

import java.util.List;

import com.ssm.entity.User;

/**
 * @Description DAO
 * @author 刘鹏博
 * @version v1.0
 * @date 2018年9月2日
 */
public interface UserDao {
	public List findAllUserInfo();
}
  • 编写mappe文件,UserMapper.xml



    
    
    
  • 编写service服务接口,UserService.java
package com.ssm.service;

import java.util.List;

import com.ssm.entity.User;

/**
 * @Description 服务接口
 * @author 刘鹏博
 * @version v1.0
 * @date 2018年9月2日
 */
public interface UserService {
	public List findAllUserInfo();
}
  • 编写ServiceImpl业务实现层,UserServiceImpl.java
package com.ssm.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ssm.dao.UserDao;
import com.ssm.entity.User;
import com.ssm.service.UserService;

/**
 * @Description 业务处理
 * @author 刘鹏博
 * @version v1.0
 * @date 2018年9月2日
 */
@Service
public class UserServiceImpl implements UserService {

	@Autowired
	private UserDao userDao; // 注入DAO

	@Override
	public List findAllUserInfo() {
		return userDao.findAllUserInfo();
	}
}
  • 编写controller控制层,UserController.java
package com.ssm.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.ssm.entity.User;
import com.ssm.service.UserService;

/**
 * @Description 前端请求接口,并返回给前端用户信息JSON格式
 * @author 刘鹏博
 * @version v1.0
 * @date 2018年9月2日
 */
@Controller
@RequestMapping("/user")
public class UserController {

	@Autowired
	private UserService userService; // 注入Service

	/**
	 * @Description 返回用户信息,JSON格式, 加入ResponseBody注解。
	 * @author 刘鹏博
	 * @return List
	 */
	@RequestMapping("/info")
	@ResponseBody
	public List userInfo() {
		List userInfoList = userService.findAllUserInfo();
		return userInfoList;
	}
}

代码编写完成,部署Tomcat,启动。浏览器请求路径:http://localhost:8080/ssm-demo/user/info,成功返回如下:

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第9张图片

这里推荐一个接口测试工具PostMan,下载地址:https://www.getpostman.com/apps

使用PostMan请求接口/user/info(GET请求),成功返回,JSON格式,如下图所示:

基于Maven搭建SSM框架详解(SpringMVC+Spring+Mybatis)_第10张图片​​​​​​​

你可能感兴趣的:(Java,Web,Maven,Spring,Spring,MVC,Java,SSM,Maven,Spring,MyBatis)