标签: java

38 篇文章

ArchUnit 工具守护分层架构
简介 ArchUnit 利用反射和字节码技术获取所有的包、类、字段等信息,并通过特定的分析来确定对象之间的访问关系。ArchUnit 使用 ASM 作为字节码分析的工具,代价是 ArchUnit 的很多规则的定义不是类型安全的。 ArchUnit 支持的检查特性有: 包依赖检查。 类依赖检查。 类和包的位置约定检查。 继承检查。 分层依赖检查。 循…
logback 修改运行时的日志级别调整
前言 线上环境,一般我们不需要详细的日志。但如果线上出现了啥疑难杂症,这些详细日志将会变得非常宝贵。这时,我们就需要调整日志的输出级别,把详细日志打开,帮助我们定位问题。比如把日志级别从WARN调整为DEBUG,打印出更多的信息帮助我们定位问题,而这就需要我们有一种在Runtime调整日志级别的能力。 实现 代码修改 代码修改的话,你需要写一段如下…
COLA架构
概述 最近接触到一个新的架构:COLA (基于扩展点+元数据+CQRS+DDD的应用架构) COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表“整洁面向对象分层架构”。 开源地址:https://github.com/alibaba/COLA 博主 张建飞(alibaba) 博客地…
使用 MyBatis 的 BATCH 方式执行批量修改
前言 最近在优化公司的一个数据导入功能,里面涉及到比较复杂的逻辑,特别是最后一个列表更新,涉及到比较多的数据,在这里卡顿处主要为两处: 1.使用大量的查询条件去做修改删除操作 2.在一个for循环里面调用数据库做修改操作; 当数据量大的时候,服务非常的卡顿,在这里记录一下优化过程 现状 代码一: sql中有大量查询条件 Service 类 // 前…
理解 OAuth 2.0 – 阮一峰的网络日志
OAuth 2.0 是一个流行的授权机制,用来授权第三方应用,获取用户数据。 第三方登录 用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。举例来说,A 网站允许 GitHub 登录为以下流程: A 网站让用户跳转到 GitHub。 GitHub 要求用户登录,然后询问&…
Java 使用 thumbnailator 处理图片
thumbnailator 介绍 Thumbnailator 是一个优秀的图片处理的Google开源Java类库。处理效果远比Java API的好。从API提供现有的图像文件和图像对象的类中简化了处理过程,两三行代码就能够从现有图片生成处理后的图片,且允许微调图片的生成方式,同时保持了需要写入的最低限度的代码量。还支持对一个目录的所有图片进行批量处…
thumbnail
java 通过 url 直接下载 zip 压缩包
前言 最近项目中,需要多个文件打包下载,这里通过将多个 url 文件直接转为一个 zip 压缩包下载的方式 实现 package com.pip.utils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import javax.servlet.http.HttpServletR…
thumbnail
微服务项目打包 lib 包外置配置
前言 公司项目使用的 springcloud 微服务,打包后上线巨慢,因为每个项目都引用了很多 jar,上传到服务器的时候速度感人,但是其中很多项目用到了一样的 jar ,发现有一种 lib jar 包外置方式,先把 所有 jar 包放在一个文件夹里面,上传到服务器后,只要 pom 里面没有新的依赖就不需要更新 lib 包,如果有新的依赖也只需要增…
thumbnail
项目打包后汇总 所有 jar 和 增量 jar
前言 项目中多个微服务使用了精简打包方式,lib 包外置,现在就需要把各个子模块的 lib 包汇总到一起,并且获取到最新多出来的 jar 文件,用到下面一段命令,这里记录下来备用。 其中 projectPath 为项目所在地址 libsPath 为全量 lib jar 包 newlibsPath 为和 libsPath 比较后 多出来的 jar 命…