摘要: 之前我(梦在旅途)发表过一篇名为《深入分析面向对象中的对象概念》的文章,里面主要讲解了类与对象的关系以及对象的概念、状态、行为、角色几个知识点,让大家对对象有了一些深入的了解,而本文则再来谈谈面向对象的三大特性之一:封装,封装是实现面向对象的基础,深入的理解封装的特性,有利于我们能更好的领悟面向对象 阅读全文
posted @ 2016-04-24 17:22 梦在旅途 阅读(8191) 评论(1) 推荐(6)
摘要: OOP:面向对象编程,一提到面向对象,大家可能就想到类,接口。一说特性,大家可能张口就来:继承、封装、多态,那么到底什么样的对象(类)才是真正意义上的对象呢?特别是现在流行的DDD领域驱动设计思想,讲究职责划分,那么如何定义一个对象(类)它应该具有的一些特性、行为方法及承担责任成为关键。 一个... 阅读全文
posted @ 2015-10-17 13:22 梦在旅途 阅读(9176) 评论(15) 推荐(25)
摘要: 背景: 在有标注为@Transactional的类或公共方法中(传播特性,如:NOT_SUPPORTED、SUPPORTS、REQUIRED【默认值】、REQUIRES_NEW)执行数据源切换可能不成功(比如:主从数据源切换,多数据源切换等,均会发现切换不成功,或“偶尔又切换成功”),导致本应该需要 阅读全文
posted @ 2025-02-25 23:24 梦在旅途 阅读(419) 评论(3) 推荐(4)
摘要: 通过自定义feignclient 的LoadBalancerFeignClient 或IRule 能实现完全自定义的负载均衡策略,本文主要是通过实现自定义的LoadBalancerFeignClient而达到自定义的负载均衡策略 示例代码实现如下: package cn.zuowenjun.demo 阅读全文
posted @ 2024-12-01 15:07 梦在旅途 阅读(276) 评论(0) 推荐(0)
摘要: 目前JAVA的微服务项目基本都是SSM结构(即:springCloud +springMVC+Mybatis),而其中Mybatis事务的管理也是交由spring来管理,大部份都是使用声明式事务(@Transactional)来进行事务一致性的管理,然后在实际日常开发过程中,发现很多开发同学都用错了 阅读全文
posted @ 2024-02-03 20:23 梦在旅途 阅读(1191) 评论(3) 推荐(2)
摘要: **若项目中使用了@MapperScan注解后,则@Mapper注解不再生效**, 原因是:@MapperScan注解 会执行@Import(MapperScannerRegistrar.class),而MapperScannerRegistrar又会注册MapperScannerConfigure 阅读全文
posted @ 2023-08-24 00:51 梦在旅途 阅读(719) 评论(0) 推荐(0)
摘要: 如果一个BEAN类上加了@Transactional,则默认的该类及其子类的公开方法均会开启事务,但有时某些业务场景下某些公开的方法可能并不需要事务,那这种情况该如何做呢? 常规的做法: 针对不同的场景及事务传播特性,定义不同的公开方法【哪怕是同一种业务】,并在方法上添加@Transactional 阅读全文
posted @ 2023-04-02 20:44 梦在旅途 阅读(150) 评论(0) 推荐(0)
摘要: 先看如下一个DEMO示例代码:(其中doBatchGet被子类重写了1次) public abstract class BaseDemoService<T> { public String batchGet(T... ints) { T one=ints[0]; System.out.println 阅读全文
posted @ 2023-03-09 23:39 梦在旅途 阅读(239) 评论(0) 推荐(0)
摘要: 前言:最近几个月很忙,都没有时间写文章了,今天周末刚好忙完下班相对早点(20:00下班)就在家把之前想总结的知识点写出来,于是就有了这篇文章。虽无很高深的技术,但小技巧有大用处。 有时我们经常需要将实现了某个基类或某个接口的所有Bean进行分类管理,在需要用到的时候按需获取实现了某个基类或某个接口的 阅读全文
posted @ 2022-07-30 11:46 梦在旅途 阅读(553) 评论(0) 推荐(0)
摘要: 将二进制数中的每位数字1或0代表着某种开关标记,1为是,0为否,则一个数字可以代表N位的开关标记值,可有效减少过多的变量定义 或 过多的表字段,同时也能在一些复杂的组合判断场景下利用位与、位或、异或等位运算实现简单高效的逻辑判断 如下是JAVA版位运算工具类,没啥技术含量,主要是运用:位移、位与、位 阅读全文
posted @ 2022-06-22 12:28 梦在旅途 阅读(759) 评论(0) 推荐(0)
摘要: 思考: 提起分页查询,想必任何一个开发人员(不论是新手还是老手)都能快速编码实现,实现原理再简单不过,无非就是写一条SELECT查询的SQL语句,ORDER BY分页排序的字段, 再结合limit (页码-1),每页记录数,这样即可返回指定页码的分页记录,类似SQL如下所示: select * fr 阅读全文
posted @ 2022-03-13 23:51 梦在旅途 阅读(1415) 评论(1) 推荐(5)
摘要: JAVA可动态计算表达式的框架非常多,比如:spEL、Aviator、MVEL、EasyRules、jsEL等,这些框架的编码上手程度、功能侧重点及执行性能各有优劣,网上也有大把的学习资料及示例代码,我这里也不在赘述了,本文要介绍的是直接借助于JDK中自带的ScriptEngineManager,使 阅读全文
posted @ 2022-01-08 16:06 梦在旅途 阅读(1340) 评论(0) 推荐(0)