自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 Redis初探之事务理解

前言Redis 事务可以一次执行多个命令, 批量操作在发送 EXEC 命令前被放入队列缓存,并且带有以下两个重要的保证:1、收到 EXEC 命令后进入事务执行,事务中任意命令执行失败,其余的命令依然被执行。2、在事务执行过程,其他客户端提交的命令请求不会插入到事务执行命令序列中。一个事务从开始到执行会经历以下三个阶段:开始事务。命令入队。执行事务。如下图:特点1)Redis ...

2019-03-29 19:54:41 365

原创 Spring初探之Spring+Spring MVC+MyBatis整合

前言系统标准的三层架构包括:表现层、业务层、持久层。三层架构在我们的实际开发中使用的非常多,包含:1、表现层1)也就是我们常说的web 层。它负责接收客户端请求,向客户端响应结果,通常客户端使用http 协议请求web 层,web 需要接收 http 请求,完成 http 响应。2)表现层包括展示层和控制层:控制层负责接收请求,展示层负责结果的展示。3)表现层依赖业务层,接收到客户端请求...

2019-03-28 20:37:19 301

原创 Redis初探之Redis初步了解

前言Redis 是用 C 语言开发的一个开源的高性能**键值对(key-value)**内存数据库。它提供五种数据类型来存储值:字符串类型、散列类型、列表类型、集合类型、有序集合类型,是一种 NoSQL 数据库。应用场景内存数据库(登录信息、购物车信息、用户浏览记录等)缓存服务器(商品数据、广告数据等等)(最多使用)解决分布式集群架构中的 session 分离问题(session共享)...

2019-03-22 09:10:01 233

原创 Spring初探之使用JdbcTemplate实现增删改查

前言Spring对数据库的操作在jdbc上面做了深层次的封装,使用spring的注入功能,可以把DataSource注册到JdbcTemplate之中。JdbcTemplate主要提供以下五类方法:execute方法:可以用于执行任何SQL语句,一般用于执行DDL语句;update方法用于执行新增、修改、删除等语句;batchUpdate方法用于执行批处理相关语句;query方法及qu...

2019-03-21 08:44:52 755

原创 Spring初探之基于AspectJ实现AOP

前言AspectJ是一个java实现的AOP框架,它能够对java代码进行AOP编译(一般在编译期进行),让java代码具有AspectJ的AOP功能。AspectJ应用到java代码的过程称为织入,对于织入这个概念,可以简单理解为aspect(切面)应用到目标函数(类)的过程。对于这个过程,一般分为动态织入和静态织入,动态织入的方式是在运行时动态将要增强的代码织入到目标类中,这样往往是通过...

2019-03-19 22:35:49 226

原创 Spring初探之动态代理

前言Spring AOP 主要是通过动态代理技术实现的,而动态代理技术的实现方式有两种:1)基于接口的 JDK 动态代理2)基于继承的 CGLib 动态代理两种代理的区别:JDK动态代理只能对实现了接口的类生成代理,而不能针对类 。CGLIB是针对类实现代理,主要是对指定的类生成一个子类,覆盖其中的方法 。因为是继承,所以该类或方法不能被声明成final ,final可以阻止继承和多...

2019-03-18 23:47:56 167

原创 Spring初探之事务理解

相关概念事务:事务值的是逻辑上的一组操作,组成这个事务的各个执行单元,要么一起执行成功,要么一起失败。事务的特性1.原子性:事务所包含的全部操作,要么一起成功,要么一起失败;2....

2019-03-12 23:38:17 181

原创 Spring初探之AOP简单理解

AOP简介AOP意为面向切面编程,通过预编译方式和运行期间通过动态代理实现程序功能的统一维护的技术。利用AOP可以对业务逻辑的各个部分进行隔离,从而使业务逻辑各部分之间的耦合度降低,提高程序的可重用性。AOP与代理模式Spring中的AOP本质上也就是使用了动态代理模式,只不过在动态代理模式的实现上进行了封装,简化了动态代理模式的步骤。动态代理模式的实现步骤:1)声明接口:注册需要被监听...

2019-03-06 00:29:13 307

原创 Spring初探之手写依赖注入

要想实现依赖注入,首先我们需要在BeanDefined中定义属性的键值对: //存放属性键值对 private Map<String, String> propertyMap = new HashMap<>(16);在BeanFactory中返回实例化对象前,给对象赋值。实现setvalue方法:private void setValue(Object i...

2019-03-05 20:14:48 459

原创 Spring初探之BeanPostProcessor实现和手写BeanPostProcessor

BeanPostProcessor的主要作用在于我们可以在Spring 容器完成 Bean 的实例化、配置和其他的初始化前后添加一些自己的逻辑处理。我们就可以定义一个或者多个 BeanPostProcessor 接口的实现,然后注册到容器中。BeanPostProcessor实现其实这和代理模式的实现有些类似:1、监控接口定义所有需要被监听的行为2、接口实现谁来实现3、通知类次要业...

2019-03-04 23:46:42 449

原创 Spring初探之手动实现简单的动态工厂

Spring中实现动态工厂主要依赖< bean > 标签的factory-bean 和factory-method属性,我们要想实现动态工厂功能,就需要在自定义BeanDefined中添加这两个属性:public class BeanDefined { private String beanId; private String classPath; //...

2019-03-04 23:01:42 654

原创 Spring初探之手写实现简单的beanFactory

手写简单的beanFactory主要分两步:1、定义bean对象,对应Spring中的< bean >标签;2、创建BeanFactory,根据 BeanFactory 来获取实例对象;bean定义对象:package com.lks.util;/** * Created by likaisong on 2019/3/3. */public class BeanDef...

2019-03-04 08:57:09 907

原创 Mybatis级联操作的实现

背景Mybatis的级联操作主要是针对一对多、多对一和多对多的情况而设定的。级联是在resultMap标签中配置的。级联并不是必须的,好处就是获取关联数据便捷,但如果级联过多会增加系统的复杂度,同时降低系统的性能。一对多一个人对应多件衣服为例只查询一次(1)先来看一下 标签中的属性:property:对象属性的名称,对应一对多中一的字段名ofType:指定的是映射到集合属性中bea...

2019-03-03 13:49:06 9476

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除