- 博客(8)
- 收藏
- 关注
原创 Linux系统下Redis的安装和启动关闭
Redis概述安装 Redis是一个开源的key-value存储系统 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set – 有序集合)和hash(哈希类型) 这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的 在此基础上,Redis支持各种不同方式的排序 与memcached一样,为了保证效率,数据都是缓存在内存中 区别的是Redis会周
2021-07-24 11:43:05
726
原创 SpringMVC原理
SpringMVC的原理如下图所示: 当发起请求时被前置的控制器拦截到请求,根据请求参数生成代理请求,找到请求对应的实际控制器,控制器处理请求,创建数据模型,访问数据库,将模型响应给中心控制器,控制器使用模型与视图渲染视图结果,将结果返回给中心控制器,再将结果返回请求者。 SpringMVC执行原理 图为SpringMVC的一个较完整的流程图,实线表示SpringMVC框架提供的技术,不需要开发者实现,虚线表示需要开发者实现。 简要分析执行流程 DispatcherServlet表示前置控制器,是整
2021-07-15 17:20:17
144
原创 了解SpringMVC
什么是MVC? MVC是模型(Model)、视图(View)、控制器(Controller)的简写,是一种软件设计规范。 是将业务逻辑、数据、显示分离的方法来组织代码。 MVC主要作用是降低了视图与业务逻辑间的双向耦合 MVC不是一种设计模型,MVC是一种架构模式。当然不同的MVC存在差异。 MVC:模型(dao,service) 视图(jsp) 控制器(Servlet) Model处理数据(dao和service),Controller(servlet,获取请求和返回响应),View(展示数据,h
2021-07-15 17:18:01
186
原创 Spring 声明式事务
1、回顾事务 把一组业务当成一个业务来做;要么都成功,要么都失败! 事务在项目开发中,十分的重要,涉及到数据的一致性问题,不能马虎! 确保完整性和一致性; 事务ACID原则: 原子性 即不可分割,事务要么全部被执行,要么全部不执行。如果事务的所有子事务全部提交成功,则所有的数据库操作被提交,数据库状态发生变化;如果有子事务失败,则其他子事务的数据库操作被回滚,即数据库回到事务执行前的状态,不会发生状态转换 一致性 事务的执行使得数据库从一种正确状态转换成另外一种正确状态 隔离性 多个业务
2021-07-14 17:09:46
120
原创 Spring 整合Mybatis
步骤: Maven项目导入相关jar包 junit mybatis mysql数据库 spring相关的 aop织入 mybatis-spring <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</versio
2021-07-14 17:04:29
82
原创 Spring 使用Spring实现AOP的三种方法
【重点】使用AOP织入,需要导入一个依赖包! <!-- https://mvnrepository.com/artifact/org.aspectj/aspectjweaver --> <dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjweaver</artifactId> <version>1.9.4</version
2021-07-14 16:47:15
147
原创 Spring 代理模式
为什么要学习代理模式? 因为这就是SpringAOP的底层! 【SpringAOP 和 SpringMVC】 代理模式的分类: 静态代理 动态代理 静态代理 角色分析: 抽象角色:一般会使用接口或者抽象类类解决 真实角色:被代理的角色 代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作 客户:访问代理对象的人! 代码步骤: 接口 //租房 public interface Rent { public void rent(); } 真实角色 //房东 public
2021-07-14 13:38:17
88
原创 Spring IOC理论推导
UserDao接口 UserDaoImpl实现类 UserService业务接口 UserServiceImpl业务实现类 在我们之前的业务中,用户的需求可能会影响我们原来的代码,我们需要根据用户的需求去修改原代码!如果程序代码量十分大,修改一次的成本代价十分昂贵! 我们使用一个Set接口实现。已经发生了革命性的变化! private UserDao userDao; //利用set进行动态实现值的注入! public void setUserDao(UserDao userDao) ..
2021-07-14 13:33:27
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅