09 2021 档案
摘要:增删改查 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd
阅读全文
摘要:全局配置文件 <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-c
阅读全文
摘要:mybatis MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的持久层框架。 MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。 MyBatis可以使用简单的XML或注解用于配置和原始映射,将接口和Java的POJO(Plain Old Java Obj
阅读全文
摘要:SpringMVC执行流程 1、SpringMVC常用组件 DispatcherServlet:前端控制器,不需要工程师开发,由框架提供 作用:统一处理请求和响应,整个流程控制的中心,由它调用其它组件处理用户的请求 HandlerMapping:处理器映射器,不需要工程师开发,由框架提供 作用:根据
阅读全文
摘要:注解配置SpringMVC 使用配置类和注解代替web.xml和SpringMVC配置文件的功能 1、创建初始化类,代替web.xml 在Servlet3.0环境中,容器会在类路径中查找实现javax.servlet.ServletContainerInitializer接口的类,如果找到的话就用它
阅读全文
摘要:异常处理器 1、基于配置的异常处理 SpringMVC提供了一个处理控制器方法执行过程中所出现的异常的接口:HandlerExceptionResolver HandlerExceptionResolver接口的实现类有:DefaultHandlerExceptionResolver和SimpleM
阅读全文
摘要:拦截器 1、拦截器的配置 SpringMVC中的拦截器用于拦截控制器方法的执行 SpringMVC中的拦截器需要实现HandlerInterceptor SpringMVC的拦截器必须在SpringMVC的配置文件中进行配置: <bean class="com.atguigu.interceptor
阅读全文
摘要:HttpMessageConverter HttpMessageConverter,报文信息转换器,将请求报文转换为Java对象,或将Java对象转换为响应报文 HttpMessageConverter提供了两个注解和两个类型:@RequestBody,@ResponseBody,RequestEn
阅读全文
摘要:RESTful案例 1、准备工作 和传统 CRUD 一样,实现对员工信息的增删改查。 搭建环境 准备实体类 package com.atguigu.mvc.bean; public class Employee { private Integer id; private String lastNam
阅读全文
摘要:RESTful 1、RESTful简介 REST:Representational State Transfer,表现层资源状态转移。 a>资源 资源是一种看待服务器的方式,即,将服务器看作是由很多离散的资源组成。每个资源是服务器上一个可命名的抽象概念。因为资源是一个抽象的概念,所以它不仅仅能代表服
阅读全文
摘要:SpringMVC的视图 SpringMVC中的视图是View接口,视图的作用渲染数据,将模型Model中的数据展示给用户 SpringMVC视图的种类很多,默认有转发视图和重定向视图 当工程引入jstl的依赖,转发视图会自动转换为JstlView 若使用的视图技术为Thymeleaf,在Sprin
阅读全文
摘要:域对象共享数据 1、使用ServletAPI向request域对象共享数据 @RequestMapping("/testServletAPI") public String testServletAPI(HttpServletRequest request){ request.setAttribut
阅读全文
摘要:SpringMVC获取请求参数 1、通过ServletAPI获取 将HttpServletRequest作为控制器方法的形参,此时HttpServletRequest类型的参数表示封装了当前请求的请求报文的对象 @RequestMapping("/testParam") public String
阅读全文
摘要:@RequestMapping注解 1、@RequestMapping注解的功能 从注解名称上我们可以看到,@RequestMapping注解的作用就是将请求和处理请求的控制器方法关联起来,建立映射关系。 SpringMVC 接收到指定的请求,就会来找到在映射关系中对应的控制器方法来处理这个请求。
阅读全文
摘要:一、SpringMVC 简介 MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专门存储业务数据的,如 Student、User 等 一类称为业务处理 Bean:指
阅读全文
摘要:事务操作 1、什么事务 (1)事务是数据库操作最基本单元,逻辑上一组操作,要么都成功,如果有一个失败所有操作都失败 (2)典型场景:银行转账 lucy 转账 100 元 给 mary lucy 少 100,mary 多 100 2、事务四个特性(ACID) (1)原子性 (2)一致性 (3)隔离性
阅读全文
摘要:概念 1、什么是 AOP (1)面向切面编程(方面),利用 AOP 可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。 (2)通俗描述:不通过修改源代码方式,在主干功能里面添加新功能 AOP(底层原理) AOP底层使用动态代理 (1)
阅读全文
摘要:jdbcTemplate 概念 1、什么是 JdbcTemplate (1)Spring 框架对 JDBC 进行封装,使用 JdbcTemplate 方便实现对数据库操作 (1)引入相关 jar 包 (2)在 spring 配置文件配置数据库连接池 <!-- 数据库连接池 --> <bean id=
阅读全文
摘要:IOC容器 什么是 IOC (1)控制反转,把对象创建和对象之间的调用过程,交给 Spring 进行管理 (2)使用 IOC 目的:为了耦合度降低 (3)做入门案例就是 IOC 实现 IOC 底层原理 (1)xml 解析、工厂模式、反射 IOC(接口) IOC思想基于IOC容器完成,IOC容器底层就
阅读全文
摘要:spring5框架概述 内容介绍 IOC 容器 (1)IOC 底层原理 (2)IOC 接口(BeanFactory) (3)IOC 操作 Bean 管理(基于 xml) (4)IOC 操作 Bean 管理(基于注解) Aop JdbcTemplate 事务管理 Spring5 新特性 spring5
阅读全文
摘要:职责链模式 学校 OA 系统的采购审批项目:需求是 采购员采购教学器材 如果金额 小于等于 5000, 由教学主任审批 (0<=x<=5000) 如果金额 小于等于 10000, 由院长审批 (5000<x<=10000) 如果金额 小于等于 30000, 由副校长审批 (10000<x<=3000
阅读全文
摘要:策略模式 编写鸭子项目,具体要求如下: 有各种鸭子(比如 野鸭、北京鸭、水鸭等, 鸭子有各种行为,比如 叫、飞行等) 显示鸭子的信息 传统的方式实现的问题分析和解决方案 其它鸭子,都继承了 Duck 类,所以 fly 让所有子类都会飞了,这是不正确的 上面说的 1 的问题,其实是继承带来的问题:对类
阅读全文
摘要:状态模式 APP 抽奖活动问题 请编写程序完成 APP 抽奖活动 具体要求如下: 假如每参加一次这个活动要扣除用户 50 积分,中奖概率是 10% 奖品数量固定,抽完就不能抽奖 活动有四个状态: 可以抽奖、不能抽奖、发放奖品和奖品领完 模式基本介绍 基本介绍 状态模式(State Pattern):
阅读全文
摘要:解释器模式 四则运算问题 通过解释器模式来实现四则运算,如计算 a+b-c 的值,具体要求 先输入表达式的形式,比如 a+b+c-d+e, 要求表达式的字母不能重复 在分别输入 a ,b, c, d, e 的值 传统方案解决四则运算问题分析 编写一个方法,接收表达式的形式,然后根据用户输入的数值进行
阅读全文
摘要:备忘录模式 游戏角色状态恢复问题 游戏角色有攻击力和防御力,在大战Boss 前保存自身的状态(攻击力和防御力),当大战 Boss 后攻击力和防御力下降,从备忘录对象恢复到大战前的状态 传统的方式的问题分析 一个对象,就对应一个保存对象状态的对象, 这样当我们游戏的对象很多时,不利于管理,开销也很大.
阅读全文
摘要:智能家庭项目: 智能家庭包括各种设备,闹钟、咖啡机、电视机、窗帘 等 主人要看电视时,各个设备可以协同工作,自动完成看电视的准备工作,比如流程为:闹铃响起->咖啡机开始做咖啡->窗帘自动落下->电视机开始播放 中介者模式基本介绍 基本介绍 中介者模式(Mediator Pattern),用一个中介对
阅读全文
摘要:观察者模式 天气预报项目需求,具体要求如下: 气象站可以将每天测量到的温度,湿度,气压等等以公告的形式发布出去(比如发布到自己的网站或第三方)。 需要设计开放型 API,便于其他第三方也能接入气象站获取数据。 提供温度、气压和湿度的接口 测量数据更新时,要能实时的通知给第三方 观察者模式解决天气预报
阅读全文
摘要:一个具体的需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 传统的方式的问题分析 将学院看做是学校的子类,系是学院的子类,这样实际上是站在组织大小来进行分层次的 实际上我们的要求是 :在一个页面中展示出学校的院系组成,一个学校有多个学院,一个学
阅读全文
摘要:访问者模式 测评系统的需求 完成测评系统需求 将观众分为男人和女人,对歌手进行测评,当看完某个歌手表演后,得到他们对该歌手不同的评价(评价 有不同的种类,比如 成功、失败 等) 传统方案 传统方式的问题分析 如果系统比较小,还是 ok 的,但是考虑系统增加越来越多新的功能时,对代码改动较大,违反了
阅读全文
摘要:命令模式 智能生活项目需求 我们买了一套智能家电,有照明灯、风扇、冰箱、洗衣机,我们只要在手机上安装 app 就可以控制对这些家电工作。 这些智能家电来自不同的厂家,我们不想针对每一种家电都安装一个 App,分别控制,我们希望只要一个 app 就可以控制全部智能家电。 要实现一个 app 控制所有智
阅读全文
摘要:模板方法模式 豆浆制作问题 编写制作豆浆的程序,说明如下: 制作豆浆的流程 选材 >添加配料 >浸泡 >放到豆浆机打碎 通过添加不同的配料,可以制作出不同口味的豆浆 选材、浸泡和放到豆浆机打碎这几个步骤对于制作每种口味的豆浆都是一样的 请使用 模板方法模式 完成 (说明:因为模板方法模式,比较简单,
阅读全文
摘要:代理模式 代理模式的基本介绍 代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。 被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象 代理模式有不同的形式, 主要有
阅读全文
摘要:享元模式 展示网站项目需求 小型的外包项目,给客户 A 做一个产品展示网站,客户 A 的朋友感觉效果不错,也希望做这样的产品展示网站,但是要求都有些不同: 有客户要求以新闻的形式发布 有客户人要求以博客的形式发布 有客户希望以微信公众号的形式发布 传统方案解决网站展现项目 直接复制粘贴一份,然后根据
阅读全文
摘要:外观模式 影院管理项目 组建一个家庭影院: DVD 播放器、投影仪、自动屏幕、环绕立体声、爆米花机,要求完成使用家庭影院的功能,其过程为: 直接用遥控器:统筹各设备开关 开爆米花机放 下 屏 幕 开 投 影 仪 开音响 开 DVD,选 dvd 去拿爆米花调 暗 灯 光 播放 观影结束后,关闭各种设备
阅读全文
摘要:组合模式 看一个学校院系展示需求 编写程序展示一个学校院系结构:需求是这样,要在一个页面中展示出学校的院系组成,一个学校有多个学院, 一个学院有多个系。 组合模式基本介绍 基本介绍 组合模式(Composite Pattern),又叫部分整体模式,它创建了对象组的树形结构,将对象组合成树状结构以表示
阅读全文
摘要:装饰者修饰模式 星巴克咖啡订单项目(咖啡馆) 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡) 调料:Milk、Soy(豆浆)、Chocolate 要求在扩展新的咖啡种类时,具有良好的扩展性、改动方便、维护方便 使用
阅读全文
摘要:桥接模式 手机问题 现在对不同手机类型的不同品牌实现操作编程(比如:开机、关机、上网,打电话等) 一、传统方案解决手机操作问题 传统方法对应的类图 1.1传统方案解决手机操作问题分析 扩展性问题(类爆炸),如果我们再增加手机的样式(旋转式),就需要增加各个品牌手机的类,同样如果我们增加一个手机品牌,
阅读全文
摘要:适配器模式 基本介绍 适配器模式(Adapter Pattern)将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper) 适配器模式属于结构型模式 主要分为三类:类适配器模式、对象适配器模式、接口适配器模
阅读全文
摘要:建造者模式 盖房项目需求 需要建房子:这一过程为打桩、砌墙、封顶 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不要相同的. 请编写程序,完成需求. 传统方式解决盖房需求 public abstract class AstractHouse { //打地基 public
阅读全文
摘要:原型模式 克隆羊问题 现在有一只羊 tom,姓名为: tom, 年龄为:1,颜色为:白色,请编写程序创建和 tom 羊 属性完全相同的 10只羊。 传统方式解决克隆羊问题 sheep类之后创建相应的对象 public class Client { public static void main(St
阅读全文
摘要:工厂模式 1.1 基本介绍 简单工厂模式是属于创建型模式,是工厂模式的一种。简单工厂模式是由一个工厂对象决定创建出哪一种产品类的实例。简单工厂模式是工厂模式家族中最简单实用的模式 简单工厂模式:定义了一个创建对象的类,由这个类来封装实例化对象的行为(代码) 在软件开发中,当我们会用到大量的创建某种、
阅读全文
摘要:单例模式 所谓类的单例设计模式,就是采取一定的方法保证在整个的软件系统中,对某个类只能存在一个对象实例, 并且该类只提供一个取得其对象实例的方法(静态方法)。 比如 Hibernate 的 SessionFactory,它充当数据存储源的代理,并负责创建 Session 对象。SessionFact
阅读全文