![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
SSM框架
文章平均质量分 78
SSM框架学习笔记
Miaoshuowen
这个作者很懒,什么都没留下…
展开
-
springmvc(2)手写springmvc框架
springmvc手写框架 前置阶段:DispatcherServlet 初始化spring容器 getBeansByType Aware和BeanFactoryWare 初始化了HandlerMapping集合 初始化处理器类和url的映射关系 初始化了HandlerAdapter集合 1.如何编写处理器代码 制定标准(接口) HttpRequestHandler接口 SimpleControllerHandler接口 2.如何编写处理器映射器代码 BeanNameURLHandlerMappi原创 2020-05-10 23:38:50 · 300 阅读 · 0 评论 -
springmvc(1)springmvc核心概念及适配器模式
B/S下的相关概念介绍 B/S:浏览器、服务器 B/S是如何通信的呢? socket web容器(http协议)—tomcat 去封装了socket,实现了浏览器和服务器直接的通信,程序员不需要自己去进行socket编程了 tomcat:web容器,Servlet容器 tomcat说了,我只会调用Servlet接口的实现类代码。 Servlet接口是JavaEE推出的web编程的服务器程序的标准接口。 Servlet的实例,是由tomcat来创建的,是由程序员来编写的代码。 Servlet对象什么时候被创原创 2020-05-10 20:20:11 · 356 阅读 · 0 评论 -
Spring(4.1)Spring aop 动态代理----代理对象的产生和执行流程
动态代理模式(spring默认JDK动态代理模式) jdk动态代理模式(有接口的目标对象) 如何产生代理对象 Object proxy = Proxy.newProxyInstance(classloader,interfaces,InvocationHandler); classloader —作用是加载jdk帮我们写出来的代理类的字节码 interfaces — 目标类的接口数组 Inv...原创 2020-04-23 23:05:00 · 3089 阅读 · 0 评论 -
Spring(4)Spring循环依赖问题 And Spring Aop核心概念
spring循环依赖问题 搞清楚什么是循环依赖? 依赖:引用、成员变量 ClassA类---->ClassB类 ClassB类—>ClassA类 依赖注入有两种注入方式:构造方法\setter方法注入 循环依赖分为: 构造方法 setter方法 循环依赖的例子 class OrderService{ UserService userService; saveOrde...原创 2020-04-18 23:16:43 · 380 阅读 · 0 评论 -
Spring(3)手写Spring ioc模块(第三版)
整体思路 1、读取bean.xml文件 2、解析bean文件,将bean信息封装到BeanDefinition对象中 加载并注册BeanDefinition流程 XmlBeanDefinitionReader:整体就是负责读取Document对象 XmlBeanDefinitionDocumentReader:整体就是负责BeanDefinition的注册工作 解析bean标签以及自定义标签...原创 2020-04-15 23:26:38 · 291 阅读 · 0 评论 -
Spring(2)手写Spring ioc模块(第二版)
手写spring IOC模块(第二版)—面向过程 基于第一版实现查询用户的功能,要求编写业务层、持久层以及使用数据源去获取连接 **UserDao UserDaoImpl UserService UserServiceImpl User BasicDataSource** spring ioc模块的V2版本 基于以上需求,我们通过ioc这种控制反转的思路去优化对象的创建...原创 2020-04-09 00:05:32 · 163 阅读 · 0 评论 -
Spring(1)Spring核心理解与手写Spring ioc模块
spring核心理解 spring和spring boot、springcloud等的关联和区别 spring.io Spring基础部分(IoC、DI、AOP) spring boot:更加简单 自动配置 起步依赖(maven依赖更加简洁) 领配置文件(spring配置文件) spring framework(就是我们要学习的spring,这里面包含springmvc模块) 分成很多组件...原创 2020-04-08 23:11:31 · 254 阅读 · 0 评论 -
设计模式(3)模板方法模式和策略模式
抽象模板设计模式 由抽象出来的父类来编写代码中不变的部分。 将变化的部分交给子类去完成。通过抽象方法让子类必须去完成 抽象模板方法是遵循了里式替换设计原则,是对继承的一种优秀的使用经验 例子:把大象装冰箱,分三步 这是抽象模板方法设计模式中抽象出来的父类的描述方式 (第一步:把冰箱门打开、第二步:把大象装进去、第三步:把冰箱门关上) 具体的第二步需要先把大象XXX,然后xxx,再然后xxx ...原创 2020-04-07 16:30:56 · 232 阅读 · 0 评论 -
设计模式(2.1)单例模式的实现
单例模式的实现 单例对象(Singleton)是一种常用的设计模式。在Java应用中,单例对象能保证在一个JVM中,该对象只有一个实例存在。这样的模式有几个好处: 1、某些类创建比较频繁,对于一些大型的对象,这是一笔很大的系统开销。 2、省去了new操作符,降低了系统内存的使用频率,减轻GC压力。 单例模式分成两种实现方式:懒汉式、饿汉式 饿汉式和饿汉式 饿汉式: 初始化的时候将单例对象创建出...原创 2020-04-04 23:27:37 · 255 阅读 · 0 评论 -
设计模式(2)浅谈创建型设计模式
设计模式概述 设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。 设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件 开发人员经过相当长的一段时间的试验和错误总结出来的。 设计模式是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码...原创 2020-04-03 23:01:03 · 194 阅读 · 0 评论 -
设计模式(1)七大设计原则
理解七大设计原则 开闭原则 七大设计原则中最根本的原则,这个原则都不遵守的话,其他的都是白扯 类或者方法中的代码,要【对扩展开放】,要【对修改关闭】 开闭原则使用的前提是代码已经封版,或者上线使用了 为了提升代码的扩展性 这也是很多公司都不允许在代码中写硬编码的原因(比如数据库的连接) public Connection getConnection(){ Class.forName("m...原创 2020-04-03 21:10:15 · 408 阅读 · 0 评论 -
Mybatis(2.2)手写mybatis核心流程3.0版本
面向对象的设计: 面向对象的设计: a)类的定义 能独立描述一个信息,比如说:配置文件信息、映射文件信息、学生、老师 能独立针对描述的信息,提供对应的功能 b)类的粒度划分 根据业务(用户【VIP用户/普通用户/高端用户】) 根据经验(借鉴别人经验,要有试错精神) c)类的复用性考虑 类的拆分的 d)类的隔离性 当某些功能发生改变...原创 2020-04-02 14:07:25 · 217 阅读 · 0 评论 -
Mybatis(2.1)手写Mybatis核心流程2.0版本
手写mybatis2.0版本(面向过程) 配置和代码分离,配置是XML文件,代码是使用面向过程去编写 目的是使用XML来表达mybatis的全局配置信息,和业务相关的SQL映射信息 (映射文件) 其次,优化数据连接的创建(使用连接池) 全局配置文件 <configuration> <!-- mybatis 数据源环境配置 --> <environments def...原创 2020-03-29 19:59:25 · 331 阅读 · 0 评论 -
Mybatis(2)手写Mybatis核心流程
手写mybatis1.0版本 目的是从JDBC原生代码过度到properties配置文件的阶段 db.properties文件 db.driver=com.mysql.jdbc.Driver db.url=jdbc:mysql:XXX db.username=XXX db.password=XXX db.sql=select * from user where username = ? publ...原创 2020-03-26 14:36:27 · 142 阅读 · 0 评论 -
Mybatis(1)分析Mybatis框架
一、mybatis知识体系 mybatis框架 mybatis-generator(逆向工程) mybatis plus(简称MP) tk.mybatis(通用mapper) PageHelper 。。。 二、认识Mybatis框架原理 框架原理:更加利于程序员进行开发使用 程序员使用持久层框架,完成CRUD操作 java中的持久层框架,都是对JDBC进行的封装 pub...原创 2020-02-21 22:37:12 · 311 阅读 · 0 评论 -
Mybatis(0)- #{}和${}的区别And${}存在SQL注入问题
1、#{}和${}的区别是什么? a)、#{}和${}取值方式是不同的,提示OGNL? b)、#{}是预编译的方式、${}是动态拼接字符串的方式 c)、#{}和${}传的参数是简单类型的话,它们取值的参数名称是有区别的,也就是#{}和${}中的名称 (看录播课程) d)、${}存在SQL注入问题 e)、解析顺序不同(#{}和${}谁先解析的问题) f)、#{}对于参数的处理,是需要根据类型来处理,...原创 2020-02-18 22:08:18 · 287 阅读 · 0 评论