如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)

本人也是小白一枚,刚刚学习ssm框架,尝试着自己搭建一个属于自己的框架,这个框架虽然简单,却耗费了我饿一天的时间,下面是我搭建的过程,仅供参考。有什么不足之处大家可以指出。

ssm定义

SSM(Spring+SpringMVC+MyBatis)框架集由Spring、MyBatis两个开源框架整合而成(SpringMVC是Spring中的部分内容)。常作为数据源较简单的web项目的框架。

Spring
  Spring就像是整个项目中装配bean的大工厂,在配置文件中可以指定使用特定的参数去调用实体类的构造方法来实例化对象。也可以称之为项目中的粘合剂。
  Spring的核心思想是IoC(控制反转),即不再需要程序员去显式地new一个对象,而是让Spring框架帮你来完成这一切。
SpringMVC
  SpringMVC在项目中拦截用户请求,它的核心Servlet即DispatcherServlet承担中介或是前台这样的职责,将用户请求通过HandlerMapping去匹配Controller,Controller就是具体对应请求所执行的操作。SpringMVC相当于SSH框架中struts。
mybatis
  mybatis是对jdbc的封装,它让数据库底层操作变的透明。mybatis的操作都是围绕一个sqlSessionFactory实例展开的。mybatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。
页面发送请求给控制器,控制器调用业务层处理逻辑,逻辑层向持久层发送请求,持久层与数据库交互,后将结果返回给业务层,业务层将处理逻辑发送给控制器,控制器再调用视图展现数据。(以上解释来自百度百科)

搭建一个简单的属于自己的ssm框架过程

1.首先新建一个maven项目

如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第1张图片
一直点击next

如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第2张图片
选择webapp的那一个创建项目。
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第3张图片
然后点击finish,我们的maven项目创建完成。

2.调整我们刚刚创建的maven项目的目录结构

如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第4张图片
我们刚刚创建的项目目录结构是这样的,这是不正确的目录结构需要我们自己调整。下面看一下调整步骤。

1.右键单击项目
2.选择Build Path然后选择Build Path后面扩展出来的那个选项,然后我们会看到下面的页面
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第5张图片
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第6张图片
然后按照上面的步骤操作,选择我们自己的jdk,然后点击finish之后apply一下就可以了,至于为什么会这样我也不清楚- -!

此时再看我们的目录结构
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第7张图片
这就是正确的目录结构了,但这不是完整的目录结构,因为我们还要放我们自己的东西,下面是我的目录结构,但也不是最完整的,这是我目前用的到的
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第8张图片
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第9张图片
这是我搭建的一个自己的小框架的目录结构。

下面我们来说一下,每个文件的作用和配置方法

1.首先是pom.xml文件,这个文件是maven依赖,是项目依赖的配置文件,这个项目所需要的jar包都可以通过pom文件来下载就不需要自己一个个的添加了,非常的方便。

  4.0.0
  Mysecondmaven
  Mysecondmaven
  war
  0.0.1-SNAPSHOT
  Tur Maven Webapp
  http://maven.apache.org
  	
		
		4.3.8.RELEASE
		UTF-8
	
  
    
      junit
      junit
      3.8.1
      test
    
    
       
           org.springframework
           spring-core
           ${spring.version}
       
       
           org.springframework
           spring-aop
           ${spring.version}
       
       
           org.springframework
           spring-web
           ${spring.version}
       
       
           org.springframework
           spring-webmvc
           ${spring.version}
       
       
           org.springframework
           spring-jdbc
           ${spring.version}
       
       
           org.springframework
           spring-tx
           ${spring.version}
       
       
        
            com.alibaba
            druid
            1.0.20
        
       
       
           org.mybatis
           mybatis
           3.3.0
       
       
       
           mysql
           mysql-connector-java
           5.1.26
       
       
       
           org.mybatis
           mybatis-spring
           1.2.3
       
  
  
    Mysecondmaven
  


这上面每一个包的作用都有注释,写的很清楚,每一对dependency之间就是一个jar包,最上面记得写上spring的版本,这个版本并不是固定的。

2.然后我们看一下webapp文件夹下WEB-INF文件夹下的web.xml文件



  Archetype Created Web Application
  
    contextConfigLocation
    classpath:spring/spring-*.xml
  
  
    org.springframework.web.context.ContextLoaderListener
  
  
    Dispatcher
    org.springframework.web.servlet.DispatcherServlet
    
      contextConfigLocation
      classpath:spring/spring-mvc.xml
    
    1
  
  
    Dispatcher
    /
  
  
    index.jsp
  

在这里插入图片描述
这里配置了去哪里读取xml文件,这句的意思是去spring文件夹下读取所有spring-开头的.xml文件 。

spring-mvc.xml文件


	
	

	
	

	
	

	
	
		
		
	

在这里插入图片描述
这句的意思就是扫描com.Mysecondmaven.controllers文件夹下带@controller的文件,这些代码后面都有注释很好理解。

spring-mybatis.xml文件


    
    
    

    
    
        
        
        
        
    

    
    
        
        
        
    
    
    
        
        
    

这是用来配置数据库的,上面都有注释,大家很好理解每一段是用来干嘛的。

db.properties文件
jdbc.driver=com.mysql.jdbc.Driver
#阿里云服务器IP地址 47.95.203.218
jdbc.url=jdbc:mysql://localhost/newtest
jdbc.username=root
jdbc.password=123456

这个文件是用来连接数据库的

上面这些就是ssm框架的一些配置文件的操作,还是比较好理解的吧0.0

我们来简单的测试一下这个框架

首先我们在数据库中新建一个表
取名为Person

如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第10张图片

填入一些数据
如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第11张图片

对数据库进行操作的是mapper文件夹下的.xml文件

我们在mybatis文件夹下的mapper文件夹下创建一个.xml文件

Myfirstbatis.xml




  
    
    
    
    
  
  
    id, name, sex, age
  
  

如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第12张图片
这里的意思是type后面这个文件夹下的Person类
column对应的是数据库中的列名,property对应的是类中的属性,jdbctype是数据类型。

然后我们进行测试,前台的访问,首先访问到controller层中,由controller接受请求,controller层负责与前台进行交互,然后发送给service层进行处理,处理的时候调用dao层的接口访问数据库,dao层接口的实现在上面提到的mapper文件夹下的.xml文件中实现。

我们在这几个文件夹下创建java文件,这里我只是简单的测试了一下,并没有用到所有的功能。

如何搭建一个ssm框架(简单易懂适合小白借鉴和学习)_第13张图片

在controller层中创建Myfirstcontroller
package com.Myfirstmaven.controllers;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import com.Myfirstmaven.dao.PersonMapper;
import com.Myfirstmaven.entities.Person;

@Controller
public class Myfirstcontroller {
	@Autowired
	private PersonMapper personMapper;
	
	@RequestMapping(value="/a")//设置访问controller的路径
	public void test()
	{
		List personList = personMapper.selectByPrimaryKey(1234L);//通过主键去查询数据库
		
		for(Person p : personList)
		{
			System.out.println(p.toString());//遍历输出查询到的结果
		}
	}

}

我建立了一个controller接受前台的请求,这里我没有用到service处理,我直接在controller中处理了请求。controller处理时调用了dao层的selectByPrimaryKey()方法。

在dao层中创建PersonMapper
package com.Myfirstmaven.dao;

import java.util.List;

import com.Myfirstmaven.entities.Person;


public interface PersonMapper {
	
    List selectByPrimaryKey(Long id);
    
}

这个是dao层中的接口,只定义方法不实现。

在entities层中创建Person类
package com.Myfirstmaven.entities;

public class Person {
	private long id;
	private String name;
	private String sex;
	private int age;
	public Person()
	{
	}
	public Person(long id, String name, String sex, int age) {
		this.id = id;
		this.name = name;
		this.sex = sex;
		this.age = age;
	}
//重写toString方法,方便打印出属性的值
	@Override
	public String toString() {
		return "Person [id=" + id + ", name=" + name + ", sex=" + sex + ", age=" + age + "]";
	}

}

结果
在前端请求我们的地址
在这里插入图片描述
后端输出的结果
在这里插入图片描述

到这里,一个简单的ssm框架就介绍完毕了。

总结

下面我个人总结一下我这个框架的流程如有不足之处欢迎指出

1.首先我们搭建一个框架最重要的就是这个框架的配置问题,也就是这些.xml文件,这些文件在编译时是合成一个总的xml文件的,其实写在哪里是一样的。

2.配置好之后然后就流程了,首先前端发送一个请求到后端,首先到达的就是controller层,由controller接收前端的请求。

3.然后service层处理请求,然后调用dao层中的接口查找数据库,然后dao层的实现在mapper文件夹下的xml文件夹中实现,最后controller返回给前端。

你可能感兴趣的:(ssm框架)