随笔分类 - 【35】架构设计
摘要:随着业务变迁/需求变更,JavaEE 应用中会被迫连接多个数据源进行业务处理。 怎样在不影响原有项目结构的情况下,已最优雅/最简洁的方式动态切换数据源呢? 本文已一次添加数据源后动态切换实践为例,描述整个思考和实践过程,文中如有纰漏,还望指正。 1. 依赖 Spring 动态数据源实现 Spring
阅读全文
摘要:任何时候,当要处理一个应用程序的业务逻辑,数据校验是你必须要考虑和面对的事情。 应用程序必须通过某种手段来确保输入参数在上下文来说是正确的。 分层的应用在很多时候,同样的数据验证逻辑会出现在不同的层,这样就会导致代码冗余和一些管理的问题。 为了避免这样或那样的情况发生,最好是将验证逻辑与相应的数据模
阅读全文
摘要:系统日志对于定位/排查问题的重要性不言而喻,相信许多开发和运维都深有体会。 通过日志追踪代码运行状况,模拟系统执行情况,并迅速定位代码/部署环境问题。 系统日志同样也是数据统计/建模的重要依据,通过分析系统日志能窥探出许多隐晦的内容。 如系统的健壮性(服务并发访问/数据库交互/整体响应时间...)
阅读全文
摘要:"当系统的每一部分都由最优解或相对优解组成,那么系统最终也将是最完美的。" 这句话是在参加莫技术分享会上听到的,这句话吸引我占在人群后面听完了她的分享,确实受益良多。 本文也旨在描述自己在项目演变中对一处公共处理逻辑优化的过程,周期略长最近有时间整理如下。 业务系统数据传递过程中,会抽取一些公共的属
阅读全文
摘要:随着公司业务的不断变化,几年前的 A 项目和底层 DB_A 数据库华丽转身为核心业务服务和核心数据库。 想从 DB_A 数据库获取数据的 web 服务越来越多,项目之间的关系逐渐演变为下面这样: 很容易看出来按上图这样的发展趋势会存在很多问题(项目关系为个人抽象出来的简化版,实际情况比这要复杂的多)
阅读全文
摘要:最近接手一小型私活,用户量封顶上千,工期预期的也相对宽松,权限控制当然是必不可少。 web 权限控制,很多项目会引入 shiro/spring-security。 shiro/spring-security 继承 servlet-->filter抽象接口,运用合适的设计模式, 通过拦截客户端请求,来
阅读全文
摘要:生命不息,折腾不止。 折腾能遇到很多坑,填坑我理解为成长。 两个月前自己倒腾了一套用开源框架构建的 JavaWeb 后端解决方案。 Spring + SpringMVC + Druid + JPA(Hibernate impl) 给你一个稳妥的后端解决方案 引入到项目组后经过几番打磨,现在也出落的有
阅读全文
摘要:记得刚入公司带我的研发哥们能写一手漂亮的 SQL,搜索准确、执行快、效率高。 配合Web项目中的查询展示数据的需求,基本是分分钟完成任务。 那段时间基本是仰视的态度,每天都去讨教一点手写 SQL 的要点,翻看一些 SQL 优化调整的技巧。 随着积累和实践,SQL 水平提高的很快,同时也写了很多,有兴
阅读全文
摘要:最近手头的工作不太繁重,自己试着倒腾了一套用开源框架组建的 JavaWeb 后端解决方案。 感觉还不错的样子,但实践和项目实战还是有很大的落差,这里只做抛砖引玉之用。 项目 git 地址:https://git.oschina.net/LanboEx/sdh.git 大体采用的开源项目有:Sprin
阅读全文
摘要:最近公司作为众多外部厂商之一,需要依托一个大型平台系统( 这里简称为Big-S) 给特定用户提供一些服务。 作为外部厂商开发的 Web 应用(这里简称 Small-S),需要提取 Big-S 中的基础数据,包括用户、组织结构、代码表......部分字段到本地数据表中。 融合 Small-S 自己特点
阅读全文
摘要:在设计和实现的过程之后,你永远不知道部署上去的程序会已什么样的姿势运行。 本篇借一次生成二维码逻辑的不同实现,阐述 Web 项目中二维码生成的正确姿势。 文中如有批量,欢迎各位看客老爷拍砖。试运行前5天实现的逻辑是这样的: 客户 ajax 请求生成二维码,后端服务洞悉这一请求,生成二维码(可参照我博
阅读全文
摘要:Web 项目一般给特定人群使用,有些是局域网用户量不足1K的内部系统,也有些广域网用户上万的中型项目,当然还有用户上亿的大型项目。 这些大大小小的 Web 项目都会有用户登录的存在,登录后有特定的权限,访问特定的资源。 未登录的用户无法访问系统资源,这块功能通常都是有 Filter 来进行限制。 在
阅读全文
摘要:最近快被 Hibernate 给坑哭了,有了自己动手实现 ORM 映射 DAO 的冲动。 工作之余折腾了快一星期,总算是有点小成就。 现打算将过程记录下来,方便自己后续回顾填补遗漏。 Github 地址:https://github.com/OrsonEx/sdao.git 1. 传统 JDBC 实
阅读全文
摘要:佩服能将复杂难懂的技术,抽象成简单易懂事物的人。 厌恶将简单易懂的技术,添加一堆专业术语将别人弄的头晕目眩的人。 PO VO BO DTO POJO DAO 总体一览: 1.DAO[data access object]数据访问对象 DAO层对开发人员黑盒,由架构师设计封装。 在很长一段时间内,我将
阅读全文
摘要:Java 中实例化类的动作,你是否还是一成不变 new 对应对象呢? 经手的项目多了,代码编写量自然会增加,渐渐的会对设计模式产生感觉。 怎样使书写出来的类实例化动作,高内聚,低耦合,又兼具一定的扩展能力呢? 本文试图从几段鲜活的代码入手,给大家呈现不一样的 Java 实例化类。 下面代码取自 co
阅读全文