SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程

目录

1 前言

2 三大框架是什么?

3 ssm演示

4 目录结构:

5 SSM框架整合配置全过程

5.1,创建一个maven项目

5.2、建包写代码

1)建包:

2)创建类及其方法:

3)配置文件:

      注意!!!:

4)前端代码

5)配置web.xml的文件

6)数据库

6 测试:

7 结语:


1 前言

三大框架的整合在Java中使用的非常的频繁,网上搜索了很多,却没有几个能真正跑通的,本着自己学习,自己整合了一下。以下为个人通过网上搜索资料,视频学习整合下来的笔记汇总。在编写完本文之后,我有又按着自己的文章步骤整合了一下,经过一番修正,已经可以正常使用。接下来将从创建项目到运行进行详细说明。

注:关于技术性的问题我不多介绍,有不明白的可以自行查询,本文只是详细介绍整合过程,并给出ssm框架所有的代码。

本人文采不行,说的都是通俗的话。废话也不多,以免看着心烦,但是配图够详细,足以新人学习看懂。

此版本为最基础版本,后期还会更改。

2 三大框架是什么?

网上有很多介绍,由于自己学习使用,不在多说。代码及说明文中有详细注释。 

废话少说,上来就是干!

3 ssm演示

先给大家演示一下本文ssm框架所能实现的功能,以免大家看了半天发现不符合自己的需求,浪费宝贵的时间。

请你移步到本文的最后测试部分。

4 目录结构:

首先展示一下整体的代码结构:

                                          SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第1张图片

本文创建的是maven项目,目录结构就是上图中所示。

5 SSM框架整合配置全过程

5.1,创建一个maven项目

1)首先打开eclipse,(ieda创建maven项目可以在网上搜索到教程,比较简单,跟eclipse相差不多,不在赘述)

      如果之前没在eclipse上创建maven项目,可以看这个视频,教学很详细。http://www.imooc.com/learn/443

      如果不想使用maven项目整合ssm,也可以创建Dynamic Web project进行。方式相同,主要是导jar包方式不一样。

2)新建一个maven项目,点击下一步(next),会出现如下视图。选择(maven-archetype-webAPP),点击next。

                                SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第2张图片

3)此时会出现如下界面,然后根据自己的需求填写如下内容。最后点击finish。

                                SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第3张图片

4)此时,maven项目构建成功,需要做以下处理。

                                  SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第4张图片

     (1)配置JDK和Tomcat。

              配置JDK:在项目上右击 --> Build Path  -->  Configure Build Path -->  Libraries -->  选中JRE,右侧点击Edit。

              做出如下修改点击finish完成JDK的配置。

                                      SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第5张图片

            配置Tomcat:点击右侧Add Library  --> 选中Server Runtime双击 -->  选中Apache Tomcat v9.0  -->点击finish。

            点击Apply,完成jdk和Tomcat的配置。项目中会显示如下红框选中项。

                                     SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第6张图片

     (2)配置pom.xml文件。

                 pom.mxl文件中配置的都是ssm框架需要的jar包。可以自行复制进自己的pom.xml文件中。如果有jar升级,可以自行去https://mvnrepository.com/搜索下载。            

           注:以下所有的配置文件都不建议全篇复制,根据需要选中所需部分自行复制。


  4.0.0
  com.jtv.ssm-config
  ssm-config
  war
  0.0.1-SNAPSHOT  
  ssm-config Maven Webapp
  http://maven.apache.org
  
    UTF-8
  
  
  
    
	
	  log4j
	  log4j
	  1.2.17
	
	  
	
	
	  mysql
	  mysql-connector-java
	  5.1.45
	  runtime
	

    
	
	  org.mybatis
	  mybatis
	  3.5.2
	
	
	  org.mybatis
	  mybatis-spring
	  1.3.1
		  
	  
	  
    
	
	  taglibs
	  standard
	  1.1.2
	
	
	  jstl
	  jstl
	  1.2
	
	
	  com.fasterxml.jackson.core
	  jackson-databind
	  2.9.8
	
	
	  javax.servlet
	  javax.servlet-api
	  3.1.0
	
	
    
	
	
	  org.springframework
	  spring-core
	  5.1.9.RELEASE
	
	
	  org.springframework
	  spring-beans
	  5.1.9.RELEASE
	
	
	  org.springframework
	  spring-context
	  5.1.9.RELEASE
	
	
	  org.springframework
	  spring-expression
	  5.1.9.RELEASE
	
	
	
      commons-logging
      commons-logging
      1.2
    
	
	
	  org.springframework
	  spring-jdbc
	  5.1.9.RELEASE
	
	
	  org.springframework
	  spring-tx
	  5.1.9.RELEASE
	
	
	
	  org.springframework
	  spring-web
	  5.1.9.RELEASE
	
	
	  org.springframework
	  spring-webmvc
	  5.1.9.RELEASE
	
	
	
	  org.springframework
	  spring-test
	  5.1.9.RELEASE
	
	
	
	  org.springframework
	  spring-aop
	  5.1.9.RELEASE
	
	
	  org.springframework
	  spring-aspects
	  5.1.9.RELEASE
	
	
	
	  org.springframework
	  spring-orm
	  5.1.9.RELEASE
	

	
	
	  redis.clients
	  jedis
	  3.1.0
	
	
	  io.protostuff
	  protostuff-core
	  1.6.0
	  test
	
	
	  io.protostuff
	  protostuff-runtime
	  1.6.0
	

	
	
	  commons-collections
	  commons-collections
	  3.2
		
	
	
      aopalliance
      aopalliance
      1.0
     
    
      org.aspectj
      aspectjweaver
      1.9.2
    
    
  
  
  
    ssm-web
	
  
  

    至此,环境基本没问题了,开始编写代码了。真正的困难来了。。。。。

5.2、建包写代码

1)建包:

                                         SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第7张图片

2)创建类及其方法:

1)在entity包下创建User.java: 

User.java

该类的属性需要与数据库中的字段的名称保持一致,需要将这里的属性进行调整。

如果这里的类名属性名进行了修改,下面的配置文件,引用等都需要做相应的修改,否则会报错。如果是初学着,可以先建个与本文相同的数据表,等搭成功了再进行改动,效果最好。

package com.jtv.entity;

public class User {

	private int uid;
	private String username;
	private String password;

	public int getUid() {
		return uid;
	}
	public void setUid(int uid) {
		this.uid = uid;
	}
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	@Override
	public String toString() {
		return "User [uid=" + uid + ", username=" + username + ", password=" + password + "]";
	}
}

 2) 在dao包下创建一个《接口》:UserDao.java:     

UserDao.java

如果对select注释不了解的可以先学习一下mybatis,有个了解之后再写ssm框架是最好不过了。

package com.jtv.dao;

import java.util.List;
import org.apache.ibatis.annotations.Select;
import com.jtv.entity.User;

public interface UserDao {

	@Select("select * from user where username = #{username} and password = #{password}")
	User login(User user);
	
	@Select("select * from user")
	List selectAll();
}

3)在service包下创建一个《接口》:UserService.java,

      并在service包下创建子包impl,在子包下创建UserServiceImpl.java继承UserService.java,并实现其方法。

  这里可以不见接口,直接使用创建一个类,但是为了限制代码的规范性,这里使用了接口。

UserService.java

package com.jtv.service;

import java.util.List;
import com.jtv.entity.User;

public interface UserService {
	User login(User user);	
	List selectAll();
}

UserServiceImpl.java

package com.jtv.service.impl;

import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.jtv.dao.UserDao;
import com.jtv.entity.User;
import com.jtv.service.UserService;

@Service("userservice")
public class UserServiceImpl implements UserService {

	@Autowired
	UserDao userDao;
	
	@Override
	public User login(User user) {
		return userDao.login(user);
	}

	@Override
	public List selectAll() {
		return userDao.selectAll();
	}
}

4)在controller包下创建UserController.java

UserController.java

package com.jtv.controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import com.jtv.entity.User;
import com.jtv.service.UserService;

@Controller
public class UserController {

	@Autowired
	UserService service;
	
	@RequestMapping("/login")
	public String login(User user,Model model){
		User u = service.login(user);
		if(u!=null){
			model.addAttribute("msg", u.getUsername());
			return "show";			
		}			
		else{
			return "error";
		}			
	}
	
	@RequestMapping("/queryAll")
	public String queryAll(Model model){
		model.addAttribute("all_info", service.selectAll());
		return "showAll";
	}
}

3)配置文件:

在resources目录下创建mybatis-config.xml,jdbc.properties,log4j.properties文件。

mybatis-config.xml

      这里用到了mybatis,所以需要配置mybatis核心文件,在recources文件夹里新建mybatis-config.xml文件。

      因为mybatis整合spring,所以将环境配置注释了,将在下面的spring-dao.xml文件中进行重新配置,以此说明。




	
	
	
	
	
	
	
		
	
	
	
	
	
	
		
		
	
  

 

jdbc.properties

student是我的数据库的名字,这里需要改成自己的数据库的名字。否则会报错!!!

jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:///student?useSSL=true
jdbc.username=root
jdbc.password=

注意!!!:

       这里一定要非常非常非常的注意,在配置文件中,我使用的是jdbc.**的命名格式,这样做的的目的是为了防止配置中的jdbc.username与系统环境中的username冲突,导致在运行程序连接数据库的时候username读取的是你系统中的username,最终数据库连接失败。密码改成自己的设置的密码!

我开始用的是username,一直报错,坑了一下午,最后大神帮我找出问题了。一定要注意,也建议以后jdbc的配置文件使用这种格式,不但不会报错,还显得逼格很高。

log4j.properties

这个没啥好说的,复制进去进行。日志输出的。

# Global logging configuration
log4j.rootLogger=DEBUG, stdout
# MyBatis logging configuration...
log4j.logger.org.mybatis.example=DEBUG
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

在resources/spring目录下创建spring-dao.xml,spring-web.xml文件。

spring-dao.xml



        
        
         
        
     
     
     
     	
     	
     	
     	
     	
        
        
     
     	
     	
     	
     	
     	
		
		
		
     
     
	
		
		
		
		
	
	
	
	
	
		
		
	
	
	
		
		    
			
			
			
			
			
			
		
	
	
	
		
		
	
        

spring-web.xml



		
	
	
	
	
	 
	
	
	 
	 
	
	 
	 	
	 	
	 	
	 
	 
	
	 

4)前端代码

在webapp目录下写一个入口代码index.jsp,

index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	
username:
password:

在webapp/jsp目录下写error.jsp,show.jsp,showAll.jsp

show.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here


	${msg },欢迎你!
	查询所有数据

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>




Insert title here



登录失败!!!


showAll.jsp

记得在代码中添加如下代码:

     <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>




Insert title here



	
			
编号 姓名 密码
${info.uid } ${info.username } ${info.password }

5)配置web.xml的文件

web.xml



  ssm-config
  
    index.html
    index.htm
    index.jsp
    default.html
    default.htm
    default.jsp
  
  
  
  	contextConfigLocation
  	classpath:spring/spring-dao.xml
  
  
  	org.springframework.web.context.ContextLoaderListener
  
  
    
	
	
		
		SpringMVC
		org.springframework.web.servlet.DispatcherServlet
		
		
			contextConfigLocation
			classpath:spring/spring-web.xml
		 
	
	
	
		SpringMVC
		
		/
	
  

6)数据库

打开Navicat for MySQL软件,新建一个student数据库,在student数据库中新建一个user数据表,添加uid(int,主键自增),username(varchar),password(varchar)三个字段,并给定一些数据。

这里的字段名称需要与User.java中的属性名保持一致,切记!!

SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第8张图片

 

6 测试:

项目名称右击 -->  Run As  -->  Run on Service  -->  选中Tomcat  -->  Finish。

                                              SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第9张图片

然后打开浏览器,在地址栏输入:http://localhost:8080/ssm-config/    输入用户名、密码,点击login。

                                 SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第10张图片

1)输入正确的用户名、密码,显示如下。

                

点击链接查询所有数据    (这里的不能点击哦~_~),就会返回所有的查询数据,也就是数据表中的所有数据。

                                 SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第11张图片

2)输入错误的用户名、密码。

                  SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第12张图片

7 结语:

到此,我们的SSM框架整合配置,与应用演示已经结束了,本想把整个文件打包上传,但是我觉得我写的很详细了,如果全部按着我的步骤来做,估计只需半个小时就能把整个框架搭好并跑通。希望初学者能够实际动手操作一两遍,对自己的学习会有很大的帮助,如果实在不想敲,想要源码,可以在下面留言,留下邮箱,我看到的时候会发送。

如果有不足之处,还希望指出,大神请轻喷。 ~_~

最后,如果喜欢就给个star,给个鼓励吧,还会继续更新,加强,优化代码。

 

持续更新中。。。。。。。

SSM(spring,SpringMVC,mybatis)三大框架整合-超详细图文教程_第13张图片

你可能感兴趣的:(java)