业务场景
fhxyryxc
这个作者很懒,什么都没留下…
展开
-
minio:please reduce your request rate
minio文件上传错误:原因:解决方案:原创 2021-09-02 14:13:53 · 5916 阅读 · 2 评论 -
itext生成pdf
private static final String base = "file/123456.png";path += File.separator+fileName+".pdf";//复制文件File file = new File(path);if(!file.exists()){ file.createNewFile();}public PdfPRow getTableTitle(Font font){ PdfPCell cells[] = new PdfPCe转载 2021-03-18 11:04:44 · 132 阅读 · 0 评论 -
自定义注解:AccessLimit
注解类@Retention(RUNTIME)@Target(METHOD)public @interface AccessLimit { int seconds(); int maxCount(); boolean needLogin()default true;}Interceptor拦截器@Componentpublic class FangshuaInterceptor extends HandlerInterceptorAdapter { @Auto转载 2021-02-18 11:08:28 · 866 阅读 · 0 评论 -
业务分层
模型规约DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。DTO(Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。BO(Business Object):业务对象。由Service层输出的封装业务逻辑的对象。AO(Application Object):应用对象。在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。VO(View Object):显示层对象,通常是Web向模.转载 2021-02-18 11:00:11 · 449 阅读 · 0 评论 -
大量的if/else优化
提前returnif (!condition) { return xxx;} // do something策略模式-多态interface Strategy { void run() throws Exception;}class FastStrategy implements Strategy { @Override void run() throws Exception { // 快速执行逻辑 }}class Norma.转载 2021-01-25 10:06:37 · 79 阅读 · 0 评论 -
自定义注解
元注解@Retention该注解类的生命周期RetentionPolicy.SOURCE;只保留在源文件中RetentionPolicy.CLASS;保留在class文件中,在加载到JVM虚拟机时丢弃RetentionPolicy.RUNTIME;保留在程序运行期间,此时可以通过反射获得定义在某个类上的所有注解@Target注解的作用目标ElementType.TYPE;只能被声明在一个类前ElementType.FIELD;只能被声明在一个类的字段前ElementType.METHO转载 2020-12-17 10:45:26 · 68 阅读 · 0 评论 -
幂等
在计算机中编程中,一个幂等操作的特点是其任意多次执行所产生的影响均与一次执行的影响相同。场景前端重复提交表单用户恶意进行刷单接口超时重复提交消息进行重复消费Restful API 接口幂等性实现数据库唯一主键(分布式 ID)数据库乐观锁Token 令牌唯一序列号...转载 2020-12-17 09:38:30 · 164 阅读 · 0 评论 -
规范
阿里云 Redis 开发规范原创 2020-12-16 13:57:43 · 74 阅读 · 0 评论 -
multipart
Spring Boot工程嵌入的tomcat限制了请求的文件大小,每个文件的配置最大为1Mb,单次请求的文件的总数不能大于10Mb。如果是想要不限制文件上传的大小,那么就把两个值都设置为-1修改配置文件spring.servlet.multipart.max-file-size = 100MBspring.servlet.multipart.max-request-size = 150MB修改配置类@Beanpublic MultipartConfigElement multipartCon转载 2020-12-16 13:46:27 · 230 阅读 · 0 评论 -
logging.path
默认情况下,Spring Boot将日志输出到控制台,不会写到日志文件。默认情况下,日志文件的大小达到10MB时会切分一次,产生新的日志文件,默认级别为:ERROR、WARN、INFO#logging.file和logging.path二者不能同时使用,如若同时使用,则只有logging.file生效#logging.file,设置文件,可以是绝对路径,也可以是相对路径。logging.file=my.log#logging.path,设置目录,会在该目录下创建spring.log文件,并写入日志转载 2020-12-16 13:25:33 · 2536 阅读 · 0 评论 -
BigDecimal
使用参数为float或double的BigDecimal创建对象会丢失精度应该使用使用BigDecimal(String val)的构造方法创建对象//进位制:不管保留数字后面是大是小(0除外)都会进1 BigDecimal.ROUND_UP;//保留设置精度数字,后面所有直接丢弃BigDecimal.ROUND_DOWN;//向正无限大方向舍入//如果结果为正,则舍入行为类似于 ROUND_UP//如果结果为负,则舍入行为类似于 ROUND_DOWNBigDecimal.ROUND_C转载 2020-12-15 11:23:58 · 281 阅读 · 0 评论 -
@Transactional注解失效
注解失效一个有@Transactional的方法被没有@Transactional方法调用时,会导致Transactional作用失效。对非public方法进行事务注解。@Transactional 将会失效。Transactional 事务配置属性中的propagation 属性配置的问题。业务代码被try{}catch(){}了, 这种是最容易犯错的propagationcode说明EQUIRED支持当前事务,如果当前没有事务,就新建一个事务。SUPPORTS转载 2020-12-10 17:57:15 · 116 阅读 · 1 评论 -
JApiDocs
git地址可以基于 Controller 上的 Java 注释,直接生成接口文档<dependency> <groupId>io.github.yedaxia</groupId> <artifactId>japidocs</artifactId> <version>1.4.4</version></dependency>public class TestJApiDocs {转载 2020-12-02 17:46:10 · 185 阅读 · 0 评论 -
Idea插件
google-java-formatgit地址To install it, go to your IDE’s settings and select the Plugins category. Click the Marketplace tab, search for the google-java-format plugin, and click the Install button.<dependency> <groupId>com.google.googlej转载 2020-12-02 17:37:19 · 57 阅读 · 0 评论 -
商品超卖
redis的incr、decrRedis Incr 命令将 key 中储存的数字值增一。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。本操作的值限制在 64 位(bit)有符号数字表示之内。数字值在 Redis 中以字符串的形式保存。注意要设置序列化方式为StringRedisSerializer,不然不能把value做加减操作。redis的lpush、rpopredis队列的l转载 2020-11-17 10:33:51 · 89 阅读 · 0 评论