Java开发框架
程序员Aike
Just Keep Coding
-- https://github.com/codeaike/
展开
-
Spring框架的设计理念-深入分析Java Web技术内幕
Spring框架的设计理念1、Spring的总体架构Spring框架中的核心组件只有三个:Core、Context和Bean。(1)、Bean组件主要解决三个问题:Bean定义、Bean创建、Bean解析。其中Bean定义和解析在Spring内部完成。 A、Bean创建的工厂模式:(顶级接口是BeanFactory)最终默认实现类是DefaultListab...原创 2018-12-20 10:36:58 · 230 阅读 · 0 评论 -
SpringBoot常用注解及应用启动流程
1、微服务简述 微服务特点:独立职责 粒度做小 独立承担对外服务(业务拆分、前后端分离、独立DB) 使用微服务的好处:1、应对复杂系统业务场景,更易大范围扩展2、并行开发/交付3、易于组织结构能力扩展4、独立开发、部署5、更好的扩展性、隔离性6、兼容多语言生态(使用rpc、消息实现模块间互通) 挑战:基础设施构建 完备的研发和交付体系支撑...原创 2019-02-15 18:03:49 · 1067 阅读 · 1 评论 -
【转载】SOA 服务架构之简介及理解
【转载】SOA 服务架构之简介及理解 自:https://blog.csdn.net/lch_2016/article/details/81062351扩展阅读:SOA架构和微服务架构的区别:(推荐)https://blog.csdn.net/zpoison/article/details/80729052----------------------------...转载 2019-01-29 19:03:14 · 966 阅读 · 0 评论 -
分布式锁(zookeeper&redis&mysql实现)学习
分布式锁三种实现方式: 1、zoopkeeper -- 临时节点特性2、redis -- setnx特性3、数据库实现 -- 唯一性约束、排它锁for update 详见大牛博客(强烈推荐): 分布式锁的几种使用方式(redis、zookeeper、数据库):https://blog.csdn.net/u010963948/article/details/790...原创 2019-01-15 09:26:32 · 491 阅读 · 0 评论 -
网站技术架构学习整体贴-《大型网站技术架构》
大牛整理图 (来自https://blog.csdn.net/kissqw/article/details/45198639) 整体总结帖 大型网站技术架构:摘要与读书笔记:https://www.cnblogs.com/xybaby/p/8907880.html 作者专访 Csdn专访李智慧:https://www.csdn.net/artic...原创 2019-01-15 09:17:06 · 268 阅读 · 0 评论 -
知识点(Redis/Dubbo)学习整理贴-持续更新
1、为什么说Redis是单线程的以及Redis为什么这么快!https://blog.csdn.net/xlgen157387/article/details/79470556 2、缓存雪崩、缓存穿透、缓存预热、缓存更新、缓存降级等问题https://blog.csdn.net/xlgen157387/article/details/79530877https://blog.c...原创 2019-01-14 09:58:57 · 225 阅读 · 0 评论 -
分布式事务-TCC&SAGA学习
1、概述 1.1、ACID Atomic(原子操作、全部执行或者失败回滚)Consistency(一致性,事务提交后原有的规则和约束不被破坏,对于数据库来说,就是不违反主键约束等,对于业务层面来说,就是满足业务规则)Isolation(隔离性,并发中的事务是相互隔离的,4种隔离级别为:读未提交、读已提交、可重复读、串行化,如果没有事务隔离,出现的异常对应为:更新丢失、脏读、...原创 2019-01-03 09:29:02 · 929 阅读 · 0 评论 -
Mybatis枚举映射数据库int存储转换
1、背景使用Mybatis存储枚举类型,数据库中以int类型存储,需要进行类型转换(handler适配)2、代码实现枚举类定义:public interface IEnum{ int getValue();}public enum EnumWhatIfChangeType implements IEnum{ /** ...原创 2019-01-17 14:22:36 · 4946 阅读 · 0 评论 -
领域驱动模型&CQRS学习
1、领域驱动概述微服务系统的设计自然离不开DDD(Domain-Driven Design,领域驱动设计),它由Eric Evans提出,是一种全新的系统设计和建模方法。DDD事实上是针对面向对象分析和设计的一个扩展和延伸,对技术架构进行了分层规划,同时对每个类进行了策略和类型的划分。领域模型是领域驱动的核心。领域模型通过聚合(Aggregate)组织在一起,聚合间有明显的业务边界,这些边界...原创 2019-01-07 09:42:53 · 4566 阅读 · 14 评论 -
AOP实践(AspectJ)-日志实现
1、使用AspectJ写日志自定义annotation 使用自定义annotation开发AOP切面 配置Apectj支持 测试验证注意:Ioc容器启动时(初始化bean时),AOP不生效2、代码实现定义接口:import java.lang.annotation.ElementType;import java.lang.annotation.Retention;...原创 2018-12-21 15:57:37 · 1055 阅读 · 0 评论 -
Ibatis(Mybatis)框架之系统架构与映射原理-深入分析Java Web技术内幕
Ibatis通过SQL Map将Java对象映射成SQL语句,将结果集再转化成Java对象,与其他ORM框架相比,既解决了Java对象与输入参数和结果集的映射,又能够让用户方便地手写使用SQL语句。 1、Ibatis框架主要的类层次结构Ibatis主要完成两件事情:(1)、根据JDBC规范建立与数据库的连接。(2)、通过反射打通Java对象与数据库参数交互之间相互转化的关系。...原创 2018-12-21 10:54:14 · 476 阅读 · 0 评论 -
分布式框架能力(应用综合管理平台)思考
1、逻辑架构2、分层结构PS:数据库读写:读主库 写从库3、基础设施统一的开发模式(微服务构建模板、统一的打包部署、统一集中的配置文件管理) 标准的接口定义,统一的路由转发策略(url规范、配置文件、接口输入输出统一Json转换、路由依赖&缓存&健康度检查管理、错误码规范) 路由分支策略、url访问权限控制、日志(运行日志、操作日志、安全登录日志)等 ...原创 2018-12-26 19:13:40 · 341 阅读 · 0 评论 -
【转载】mybatis中的#和$的区别
【转载】mybatis中的#和$的区别原文地址:https://blog.csdn.net/u012843873/article/details/80182981 简介 MyBatis 是一款优秀的持久层框架,它支持定制化 SQL、存储过程以及高级映射。MyBatis 避免了几乎所有的 JDBC 代码和手动设置参数以及获取结果集。MyBatis 可以使用简单的 XML 或注解...转载 2018-12-17 18:59:48 · 168 阅读 · 0 评论 -
【转载】CQRS架构简介
【转载】CQRS架构简介原文地址:http://www.cnblogs.com/netfocus/p/4055346.html CQRS架构简介前不久,看到博客园一位园友写了一篇文章,其中的观点是,要想高性能,需要尽量:避开网络开销(IO),避开海量数据,避开资源争夺。对于这3点,我觉得很有道理。所以也想谈一下,CQRS架构下是如何实现高性能的。关于CQRS(Command Q...转载 2018-12-20 20:06:29 · 373 阅读 · 0 评论 -
Spring MVC工作机制-深入分析Java Web技术内幕
Spring MVC的总体设计web.xml中需要配置一个DispatcherServlet。 Spring MVC如何工作?(1)、DispatcherServlet的initStrategies初始化方法:文件上传服务、国际化、主题相关组件 请求映射关系(initHandlerMappings)、根据Handler的类型定义不同的处理规则(initHandlerAda...原创 2018-12-20 16:00:41 · 259 阅读 · 0 评论 -
@PathVariable注解详解
实现思路请求路径如:/person/list/101。使用正则将id为key,101为value填充到map中放到request域中。为目标方法形参设置参数时拿出request域中的值然后赋值。实现原理@PathVariable注解对应的解析器是PathVariableMethodArgumentResolver根据HandlerMapping映射处理器获得HandlerExecution...转载 2019-07-27 17:36:04 · 1902 阅读 · 0 评论