SSM框架搭建--超简单详细干净

目录

一、SSM框架的简单介绍

1、什么是SSM框架呢?

二、SSM操作原理 

1、Spring MVC:

2、Spring:

3、MyBatis:

三、SSM框架的搭建

1.新建一个项目。

 2.创建好项目之后展开项目架构,如图:

3、首先将项目添加为WEB项目。

5.导入pom依赖包。

6.新建配置文件 

spring-dao.xml

spring-service.xml

spring-web.xml

mybatis-config.xml

jdbc.properties

applicationContext.xml

web.xml

 7.代码

UserController 

UserMapper

UserMapper.xml

User 

 UserService 

 UserServiceImpl 

index.jsp

web/WEB-INF/jsp/ok.jsp

四、tomcat配置

​编辑

五、测试。

 六、拓展添加AOP业务

1.实现查询项目中所有addUser的方法执行的时间。

2.测试


一、SSM框架的简单介绍

1、什么是SSM框架呢?

SSM框架就是SpringSpring MVCMyBatis框架的缩写,是标准的MVC模式,将整个系统划分为四层:表现层controller层service层DAO层。使用SSM框架的好处是在于其易复用和简化开发,掌握了每个框架的核心思想。

其中,spring MVC负责请求的转发和视图管理;spring实现业务对象管理;MyBatis作为数据对象的持久化引擎。

二、SSM操作原理 

1、Spring MVC:

客户端发送请求到DispacherServlet(分发器),由DispacherServlet控制器查询HanderMapping,找到处理请求的Controller。Controller调用业务逻辑处理后,返回ModelAndView;.DispacherSerclet查询视图解析器,找到ModelAndView指定的视图,视图负责将结果显示到客户端。

2、Spring:

IOC容器应该就是我们平时开发接触最多的,它可以装载bean,有了这个机制,我们就不用在每次使用这个类的时候为它初始化,很少看到关键字new。另外spring的aop,事务管理等等都是我们经常用到的。

3、MyBatis:

MyBatis是对jdbc的封装,它让数据库底层操作变的透明。MyBatis的操作都是围绕一个sqlSessionFactory实例展开的。MyBatis通过配置文件关联到各实体类的Mapper文件,Mapper文件中配置了每个类对数据库所需进行的sql语句映射。在每次与数据库交互时,通过sqlSessionFactory拿到一个sqlSession,再执行sql命令。

三、SSM框架的搭建

工具:Tomcat  maven   mysql   jdk  idea

1.新建一个项目。

SSM框架搭建--超简单详细干净_第1张图片

SSM框架搭建--超简单详细干净_第2张图片

 2.创建好项目之后展开项目架构,如图:

SSM框架搭建--超简单详细干净_第3张图片

3、首先将项目添加为WEB项目。

 SSM框架搭建--超简单详细干净_第4张图片

SSM框架搭建--超简单详细干净_第5张图片

 4、填充项目架构包:pojo mapepr  service controller 

SSM框架搭建--超简单详细干净_第6张图片5.

5.导入pom依赖包。

 
    
        
            junit
            junit
            4.13.1
            test
        
        
            org.mybatis
            mybatis
            3.5.10
        
        
            org.springframework
            spring-webmvc
            5.3.22
        
        
            org.springframework
            spring-jdbc
            5.3.22
        
        
            org.mybatis
            mybatis-spring
            2.0.7
        
        
            org.aspectj
            aspectjweaver
            1.9.7
        
        
            org.projectlombok
            lombok
            1.18.24
        
        
            org.springframework
            spring-tx
            5.3.22
        
        
        
        
            mysql
            mysql-connector-java
            5.1.47
        
        
            javax.servlet
            jstl
            1.2
        
    
    
    
        
            
                src/main/java
                
                    **/*.xml
                    **/*.properties
                
            
            
                src/main/resources
                
                    **/*.xml
                    **/*.properties
                
            
        
    

6.新建配置文件 

spring-dao.xml


    
   
    

   
    
        
        
        
        
    
    
    
        
        
        
        

        
       

    

    
    
        
        
        
        
    
spring-service.xml



    
    

    
    
        
        
    

    
    
spring-web.xml


    
    
    
    
    
    

    
    

    
    
        
        
        
    

    
    

mybatis-config.xml




    

        
        

        
        

        
        
        

        
        

        

    
    
    
        
    
jdbc.properties
jdbc.driver=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/mybatis?characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false
jdbc.username=root
jdbc.password=123456
applicationContext.xml



  
  
  

web.xml




    
    
        DispatcherServlet
        org.springframework.web.servlet.DispatcherServlet
        
            contextConfigLocation
            classpath:spring-web.xml
        
        1
    
    
        DispatcherServlet
        /
    


    
    
        CharacterEncodingFilter
        org.springframework.web.filter.CharacterEncodingFilter
        
            encoding
            UTF-8
        
    
    
        CharacterEncodingFilter
        /*
    

    
        
        contextConfigLocation
        
        classpath:applicationContext.xml
    
    
        org.springframework.web.context.ContextLoaderListener
    

    
        index.jsp
    

 7.代码

UserController 
package com.hl.ssm.controller;

import com.hl.ssm.pojo.User;
import com.hl.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

/**
 * @author hl
 * @Description
 * @create 2023/11/30
 */
@Controller
public class UserController {
	@Autowired
	private UserService userService;
	@RequestMapping("/addUser")
	public ModelAndView addUser(User user) {
		System.out.println("======================进入controller了");
		ModelAndView modelAndView = new ModelAndView();
		userService.addUser(user);
		System.out.println("addUser方法执行完成");
		modelAndView.setViewName("ok");
		return modelAndView;
	}

}
UserMapper
package com.hl.ssm.mapper;

import com.hl.ssm.pojo.User;

import java.util.List;

/**
 * @author hl
 * @Description
 * @create 2023/11/30
 */
public interface UserMapper {

	List getList();

	int addUser(User user);
}
UserMapper.xml




    
        insert into user values (null,#{name},#{pwd})
    

    
User 
package com.hl.ssm.pojo;


import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * @author hl
 * @Description
 * @create 2023/11/30
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User {

	private int id;
	private String name;
	private String pwd;


}

 UserService 
package com.hl.ssm.service;

import com.hl.ssm.pojo.User;

import java.util.List;

/**
 * @author hl
 * @Description
 * @create 2023/11/30
 */
public interface UserService {
	List getList();

	int addUser(User user);
}

 UserServiceImpl 
package com.hl.ssm.service.impl;

import com.hl.ssm.mapper.UserMapper;
import com.hl.ssm.pojo.User;
import com.hl.ssm.service.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author hl
 * @Description
 * @create 2023/11/30
 */
@Service
public class UserServiceImpl implements UserService {
	@Autowired
	private UserMapper userMapper;
	@Override
	public List getList() {

		List list = userMapper.getList();
		return list;
	}

	@Override
	public int addUser(User user) {
		int i = userMapper.addUser(user);
		return i;
	}
}
index.jsp

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


测试

创建学生用户信息

账号:
密码:
web/WEB-INF/jsp/ok.jsp

注意:文件的位置。


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


  成功
  

添加成功,这是一个跳转页面!!!

四、tomcat配置

SSM框架搭建--超简单详细干净_第7张图片

SSM框架搭建--超简单详细干净_第8张图片

五、测试。

SSM框架搭建--超简单详细干净_第9张图片

SSM框架搭建--超简单详细干净_第10张图片 SSM框架搭建--超简单详细干净_第11张图片

 六、拓展添加AOP业务

1.实现查询项目中所有addUser的方法执行的时间。

在service层新建一个BookAdvice

package com.hl.ssm.service.aop;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;


/**
 * @author hl
 * @Description
 * @create 2023/11/30
 */
@Aspect
@Component
public class BookAdvice {
	@Around("execution(* com.hl.ssm.*.*.addUser(..))")
	public Object method(ProceedingJoinPoint pjp) throws Throwable {
		//目标运行的时间
		long starttime = System.nanoTime();
		//执行目标方法
		Object result = pjp.proceed();

		//目标结束时间
		long endtime =System.nanoTime();
		//end -start
		long datatime=(endtime-starttime)/1000000;
		System.out.println("目标运行的方法"+pjp.toShortString()+"时间:"+datatime+"豪秒" );
		return result;

	}
}

2.测试

 SSM框架搭建--超简单详细干净_第12张图片

 
 

你可能感兴趣的:(java,开发语言)