![](https://img-blog.csdnimg.cn/20210610141447923.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SSM框架
文章平均质量分 78
spring+mybatis+springmvc的系列。
去海边钓猪
你要足够努力,才不会显得那么狼狈
展开
-
SpringMVC(八) | 文件上传与下载
目录表单参数1 文件的上传2 文件的下载在javaweb项目中,Servlet3.0规范已经提供方法来处理文件上传。在springmvc中,它对servlet的方法进行了封装,以更简单的方式来实现文件的上传与下载。表单参数前端表单设置:<form action="/upload" enctype="multipart/form-data" method="post"> <input type="file" name="file"/> <input type原创 2021-07-01 09:33:26 · 135 阅读 · 0 评论 -
SpringMVC(七) | 过滤器实现权限控制
目录拦截器的使用1 自定义拦截器2 拦截器实现用户权限控制。拦截器类似于过滤器过滤器servlet规范中的一部分,任何java web工程都可以使用在url-pattern中配置了/*之后,可以对所有要访问的资源进行拦截拦截器拦截器是SpringMVC框架自己的,只有使用了SpringMVC框架的工程才能使用拦截器只会拦截访问的控制器方法, 如果访问的是jsp/html/css/image/js是不会进行拦截拦截器的使用拦截器的配置方法和过滤器类似,通过继承Hand原创 2021-06-30 20:05:44 · 472 阅读 · 1 评论 -
SpringMVC(六) | 前后端交互之ajax与json
json1 json介绍JSON:JavaScript 对象表示法(JavaScript Object Notation)。JSON 是存储和交换文本信息的语法。类似 XML。JSON 比 XML 更小、更快,更易解析。2 json语法JSON 语法是 JavaScript 语法的子集json的语法格式数据键值对形式表示对象用大括号数组用中括号对象格式:{name: "Alicy", age: 12, adr: "china"}json格式:{"name":"Alicy原创 2021-06-30 20:00:18 · 189 阅读 · 2 评论 -
SpringMVC(五) | ssm三大框架整合
目录整合思路1 环境配置2 配置文件3 层级结构pojo,service,controller,mapper层ssm:spring+mybatis+springmvc的整合,这是一步一步的将javaweb开发进行简化的过程。整合思路环境配置导入依赖idea连接数据库设置Tomcat,加web支持,新建基本的controller,service,pojo,mapper层文件夹配置文件总配置文件applicationContext.xml:使用完成对所有配置文件的整合。my原创 2021-06-30 19:43:00 · 130 阅读 · 1 评论 -
SpringMVC(四) | 过滤器解决乱码问题
目录解决乱码问题1 传统方式2 SpringMVC提供的过滤器3 自己配置过滤器解决乱码问题。4 用别人写的filter过滤器解决乱码问题有时候在数据传输中,可能会出现各种乱码问题。比如简单做一个表单的提交和回传。<form action="${pageContext.request.contextPath}/restful/getUser" method="post"> <input type="text" name="id"> <input type原创 2021-06-30 19:36:48 · 594 阅读 · 0 评论 -
SpringMVC(三) | 结果跳转和数据传输
结果跳转方式和数据传输这个跳转方式是和之前的内容一一对应的。Servlet传统方式继承Controller后的ModelAndView方式实现@Controller注解后的Model方式1 传统方式在javaweb项目的开发中,我们使用结果跳转方式有主要有两种转发req.getRequestDispatcher("WEB-INF/jsp/hello.jsp").forward(req, resp);重定向resp.sendRedirect("hello.jsp");原创 2021-06-30 19:32:51 · 170 阅读 · 0 评论 -
SpringMVC(二) | RestFul风格
RestFul 风格RestFul 风格是一种和传统方式有区别的风格传统方式操作资源 :通过不同的参数来实现不同的效果!方法单一,post 和 gethttp://127.0.0.1/item/queryItem.action?id=1 查询,GEThttp://127.0.0.1/item/saveItem.action 新增,POSThttp://127.0.0.1/item/updateItem.action 更新,POSThttp://127.0.0.1/item/deleteItem原创 2021-06-30 19:29:04 · 95 阅读 · 0 评论 -
SpringMVC(一) | SpringMVC原理与过渡
目录前言MVC回顾servlet由javaweb到SpringMVCSpringMVC工作原理配置实现springmvc:注解实现springmvc前言框架的简化mybatis提供了对与数据库操纵的简化。spring提供了对对象的创建和管理的简化。而springmvc就是提供了对原有的javawebMVC结构的简化以及功能加强。框架的作用就是将许多功能代码抽象出来,让我们更加专注于业务逻辑代码的编写。我们从传统的javaweb来一步一步的对现有的springmvc结构进行学习和理解。MV原创 2021-06-30 19:25:17 · 118 阅读 · 0 评论 -
mybatis入门(七)| mybatis缓存
目录1 简介2 Mybatis缓存3 一级缓存3.1 一级缓存失效的四种情况4 二级缓存4.1 二级缓存的使用5 第三方缓存EhCache1 简介什么是缓存 [ Cache ]?存在内存中的临时数据。将用户经常查询的数据放在缓存(内存)中,用户去查询数据就不用从磁盘上(关系型数据库数据文件)查询,从缓存中查询,从而提高查询效率,解决了高并发系统的性能问题。为什么使用缓存?减少和数据库的交互次数,减少系统开销,提高系统效率。什么样的数据能使用缓存?经常查询并且不经常改变的原创 2021-06-25 09:11:10 · 184 阅读 · 2 评论 -
mybatis入门(六)| 日志工厂与分页
目录1 日志工厂2 Log4j3 limit实现分页3.1 分页实现3.2 RowBounds分页3.3 PageHelper1 日志工厂mybatis可以通过配置日志的方式来过程信息,可以采用自带的日志工厂,也可以用第三方包。Mybatis内置的日志工厂提供日志功能,具体的日志实现有以下几种工具:SLF4JApache Commons LoggingLog4j 2Log4jJDK logging标准日志实现:<settings> <setti原创 2021-06-25 09:07:01 · 132 阅读 · 1 评论 -
mybatis入门(五)| 动态SQL
目录动态SQL1 环境2 if语句3 where语句4 choose语句5 foreach语句6 set语句7 SQL片段动态SQL动态SQL指的是根据不同的查询条件 , 生成不同的Sql语句1 环境utils工具类:随机生成idpublic class IdUtil { public static String genId(){ return UUID.randomUUID().toString().replaceAll("-",""); }}e原创 2021-06-25 08:43:01 · 239 阅读 · 1 评论 -
mybatis入门(四)| ResultMap(结果集映射)
目录ResultMap(结果集映射)1 解决数据库与实体类属性名不一致问题2 解决多对一结果集映射(association关联属性)2.1 按查询嵌套处理2.2 按结果嵌套处理。3解决一对多结果集映射(collection集合)3.1 按查询嵌套处理。3.2 按结果嵌套处理ResultMap(结果集映射)为了解决数据映射问题而生1 解决数据库与实体类属性名不一致问题解决的问题:属性名和字段名不一致因为各种原因,数据库的属性字段无法和实体类的属性字段一一对应。举例:现在数据库表属性为:原创 2021-06-25 08:41:13 · 189 阅读 · 1 评论 -
mybatis入门(三)| mybatis配置详解
目录mybatis简介mybatis是什么持久化和持久层Mybatis的优点mybatis快速构建mybatis简介mybatis是什么MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。持久化和持久层持久层将原本存原创 2021-06-25 08:40:08 · 244 阅读 · 1 评论 -
mybatis入门(二)| mybatisCRUD
目录mybatis的增删改查1 namespace说明2 select3 insert4 update5 delete6 模糊查询7 注意点mybatis的增删改查session.commit(); //提交事务,重点!不写的话不会提交到数据库1 namespace说明namespace命名空间作为在mapper中的属性之一,是Mapper接口与xml实现的唯一依据。2 selectUserMapper接口增加方法//根据id查询用户UserInf selectUserById(@P原创 2021-06-25 08:38:08 · 109 阅读 · 0 评论 -
mybatis入门(一)| mybatis简介与快速构建
目录mybatis简介1 mybatis是什么2 持久化和持久层3 Mybatis的优点mybatis快速构建mybatis简介1 mybatis是什么MyBatis 是一款优秀的持久层框架MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集的过程MyBatis 可以使用简单的 XML 或注解来配置和映射原生信息,将接口和 Java 的 实体类 【Plain Old Java Objects,普通的 Java对象】映射成数据库中的记录。2 持久化和持久层原创 2021-06-25 08:37:28 · 95 阅读 · 0 评论 -
初识Spring(十) | 事务
目录事务事务的作用事务的使用事务对于事务的更详细的解释在我的另一篇博客中有显示事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎!事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性。事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用。事务四个属性ACID原子性(atomicity)事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用一致性(consistency)原创 2021-06-25 08:36:30 · 109 阅读 · 0 评论 -
初识Spring(九) | Spring整合Mybatis
目录整合mybatis优化整合mybatismybatis实现对数据库操作的高效管理,而spring用一种新的方式实现对对象的创建和使用。整合mybatis就是将mybatis的数据操纵和spring的控制反转结合起来。导入相关jar包<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://w原创 2021-06-25 08:35:42 · 122 阅读 · 0 评论 -
初识Spring(八) | SpringAOP
目录AOP1 Aop在Spring中的作用2 AOP的使用第一种方式第二种方式第三种方式AOPAOP作为spring的两大核心之一,即面向切面编程,它的底层实现是代理模式,横向的方式来对现有的功能进行加强,使业务逻辑和功能代码更好的脱耦合。1 Aop在Spring中的作用横切关注点:跨越应用程序多个模块的方法或功能。即是,与我们业务逻辑无关的,但是我们需要关注的部分,就是横切关注点。如日志 , 安全 , 缓存 , 事务等等 …切面(ASPECT):横切关注点 被模块化 的特殊对象。即,它是原创 2021-06-24 20:47:12 · 184 阅读 · 3 评论 -
初识Spring(七) | 代理模式
目录代理模式1 静态代理2 动态代理3 小结代理模式AOP面向切面编程的底层思想就是代理模式,理解代理模式对理解AOP模式很有帮助。代理模式分为:静态代理动态代理用UML图来简单描述一下1 静态代理静态代理角色分析抽象角色 : 一般使用接口或者抽象类来实现真实角色 : 被代理的角色代理角色 : 代理真实角色 ; 代理真实角色后 , 一般会做一些附属的操作 .客户 : 使用代理角色来进行一些操作 .静态代理实例一:抽象角色Rentpublic int原创 2021-06-24 20:43:56 · 148 阅读 · 3 评论 -
初识Spring(六) | Spring使用注解开发
目录注解开发1 准备工作2 bean注入和属性值赋值3 Component衍生注解4 bean的自动装配5 作用域 @scope6 小结注解开发在spring中,虽然可以使用xml的方式来进行bean的注入,bean的装配,bean属性值的注入。但是实际开发用注解进行开发是真的香,而使用xml进行bean的管理和装配的方式将会逐渐摒弃。1 准备工作在完成通过注解的方式来对bean进行注入之后,也可以用注解的方式来实现属性的自动注入。前置环境:导入context头文件xmlns:cont原创 2021-06-24 20:32:07 · 202 阅读 · 1 评论 -
初识Spring(五) | Spring中Bean的装配与管理
目录Bean的装配与管理1 通过ref来装配2 xml配置实现自动配置2.1 byName2.2 byType3 使用注解实现自动装配3.1 Autowired3.2 @Qualifier4 使用另一种注解的方式来实现自动配置4.1 @Resource5 @Autowired与@Resourse的异同Bean的装配与管理在很多情况下,我们需要在一个类中使用另一个类对象,但是我们已经将对象的创建交给了Spring管理。所以我们需要通过一些方式来对我们的类中的对象属性进行装配,也就是对象注入,其原理方式原创 2021-06-24 20:12:29 · 171 阅读 · 1 评论 -
初识Spring(四) | Spring依赖注入
依赖注入1 有参构造器注入2 set注入3 使用命名空间注入4 Bean的作用域Singleton单例PrototypeRequestSession依赖注入作为Spring实现IOC的方式,允许大家使用多种方式来进行bean属性值的注入。1 有参构造器注入在4当中已经实现了构造器注入<bean id="hello" class="com.lyj.bean.Hello"> <constructor-arg name="name" value="spring11"/>原创 2021-06-24 19:42:08 · 126 阅读 · 1 评论 -
初识Spring(三) | Spring配置相关
spring配置1 别名配置spring别名的配置规则<!--设置别名:在获取Bean的时候可以使用别名获取--> <alias name="hello" alias="helloOne"/>和mybatis的有些类似,在mybatis中是这样使用的<typeAliases> <typeAlias type="com.lyj.entity.UserInf" alias="User"/></typeAliases>配置原创 2021-06-24 19:26:01 · 123 阅读 · 2 评论 -
初识Spring(二) | IOC创建对象的两种方式
目录IOC创建对象的两种方式1. 无参构造方式2 有参构造方式IOC创建对象的两种方式1. 无参构造方式在bean中使用标签property的方式来注入属性值就是利用实体类的无参构造方式方法来实现属性值的注入的当我们写了有参构造后,如果不手动的增加无参方法再无法使用这种方法进行属性值的注入。<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/bea原创 2021-06-24 19:21:06 · 129 阅读 · 0 评论 -
初识Spring(一) | Spring概述和快速构建
Spring概述Spring简介Spring是一个开源免费的框架 , 容器 .Spring是一个轻量级的框架 , 非侵入式的 .控制反转 IoC , 面向切面 Aop对事物的支持 , 对框架的支持一句话概括:Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器(框架)。spring框架Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式 .[外链图片转存失原创 2021-06-24 19:10:27 · 223 阅读 · 5 评论