SF
code-craft
code-craft
注册登录
关注博客
注册登录
主页
关于
RSS
聊聊spring事务的propagation
codecraft
2023-09-13
阅读 9 分钟
473
spring事务定义了Propagation枚举,主要有REQUIRED、SUPPORTS、MANDATORY、REQUIRES_NEW、NOT_SUPPORTED、NEVER、NESTED
聊聊spring的UnexpectedRollbackException
codecraft
2023-09-12
阅读 12 分钟
550
UnexpectedRollbackException继承了TransactionException,一般是事务嵌套,内层事务抛出了异常,外层事务给catch住了,然后试图提交事务报错
聊聊spring的TransactionalEventListener
codecraft
2023-09-11
阅读 12 分钟
2.9k
TransactionalEventListener是EventListener的事务感知版本,默认的是TransactionPhase是AFTER_COMMIT
聊聊TransactionSynchronization的invokeAfterCompletion
codecraft
2023-09-10
阅读 7 分钟
1.1k
org/springframework/transaction/support/TransactionSynchronization.java
聊聊spring的TransactionSynchronizationAdapter
codecraft
2023-09-09
阅读 8 分钟
1.3k
使用TransactionSynchronizationManager.registerSynchronization注册了一个TransactionSynchronizationAdapter,在其afterCommit方法也就是事务提交成功之后执行一些额外逻辑
聊聊springboot的ConfigurationProperties的绑定
codecraft
2023-09-07
阅读 11 分钟
813
org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessor.java
聊聊如何获取PreparedStatement的参数
codecraft
2023-09-06
阅读 12 分钟
883
PreparedStatement继承了Statement接口,它主要是多定义了一系列的set方法,但是没有定义get方法,只是定义了getParameterMetaData方法返回ParameterMetaData
聊聊ShardingSphere是怎么进行sql重写的
codecraft
2023-09-05
阅读 25 分钟
791
org/apache/shardingsphere/driver/jdbc/core/connection/ShardingSphereConnection.java
聊聊mysql jdbc的prepareStatement
codecraft
2023-09-04
阅读 22 分钟
1.1k
mysql-connector-java-5.1.21-sources.jar!/com/mysql/jdbc/ConnectionImpl.java
聊聊jasypt的IVGenerator
codecraft
2023-09-03
阅读 11 分钟
2.8k
IVGenerator定义了generateIV及includePlainIVInEncryptionResults方法,它有三个实现类,分别是NoOpIVGenerator、StringFixedIVGenerator、RandomIVGenerator
聊聊jasypt的SaltGenerator
codecraft
2023-09-02
阅读 9 分钟
2.3k
SaltGenerator接口定义了generateSalt及includePlainSaltInEncryptionResults方法,其中generateSalt方法根据指定的长度参数来生成salt,而includePlainSaltInEncryptionResults则返回是否需要将salt包含在加密结果中,通常对于随机生成的需要返回true,对于固定salt的则不需要,它有几类,分别是FixedSaltGenerator、Ze...
聊聊Jasypt的StandardPBEByteEncryptor
codecraft
2023-09-01
阅读 11 分钟
900
Jasypt即Java Simplified Encryption,它主要是简化项目加解密的工作,内置提供了很多组件的集成,比如hibernate、spring、spring-security等
聊聊PBE算法
codecraft
2023-08-31
阅读 2 分钟
2.5k
PBE即Password Based Encryption,基于口令的加密,它是一种组合算法,即一般是哈希+对称算法,比如PBEWithMD5AndDES,就是用MD5做哈希,用DES做加解密,而其密钥则是口令+salt基于哈希函数计算而来
聊聊mybatis的Interceptor机制
codecraft
2023-08-30
阅读 11 分钟
979
Interceptor定义了intercept方法,其参数为Invocation类型,同时默认提供了plugin方法,通过Plugin.wrap(target, this)进行包装
mybatis的MappedStatement是线程安全的吗
codecraft
2023-08-29
阅读 8 分钟
678
序本文主要研究一下mybatis MappedStatementMappedStatementorg/apache/ibatis/mapping/MappedStatement.java {代码...} MappedStatement定义了SqlSourceMappedStatement.Builder {代码...} MappedStatement定义了一个Builder用于构造MappedStatementMapperBuilderAssistantorg/apache/ibatis/builder/MapperBuilderAssi...
聊聊mybatis的ParamNameResolver
codecraft
2023-08-28
阅读 3 分钟
1k
在mybatis的interceptor获取MapperMethod.ParamMap这种参数类型时,经常会多出param1,param2,collection,list,array这些参数,这些不是接口自己定义的,而是ParamNameResolver自动添加的
聊聊mybatis-plus的sql加载顺序
codecraft
2023-08-27
阅读 16 分钟
1.5k
com/baomidou/mybatisplus/extension/spring/MybatisSqlSessionFactoryBean.java
聊聊mybatis-plus的SafetyEncryptProcessor
codecraft
2023-08-26
阅读 3 分钟
1.2k
mybatis-plus-boot-starter/src/main/java/com/baomidou/mybatisplus/autoconfigure/SafetyEncryptProcessor.java
聊聊springboot的启动事件
codecraft
2023-08-25
阅读 9 分钟
1.1k
SpringApplicationEvent继承了ApplicationEvent,它有几个子类分表是ApplicationStartingEvent、ApplicationEnvironmentPreparedEvent、ApplicationContextInitializedEvent、ApplicationPreparedEvent、ApplicationStartedEvent、ApplicationReadyEvent,期间有异常则抛出ApplicationFailedEvent
聊聊springboot的EnvironmentPostProcessor
codecraft
2023-08-24
阅读 6 分钟
1.4k
springboot提供了EnvironmentPostProcessor接口,该接口有postProcessEnvironment方法,其中envrionment参数类型为ConfigurableEnvironment,即应用可以通过实现这个接口进行env环境变量的操作
聊聊如何解析pom文件
codecraft
2023-08-23
阅读 3 分钟
1.3k
序本文主要研究一下如何解析pom文件maven-modelmaven提供了maven-model的类库可以直接解析 {代码...} 使用 {代码...} 使用MavenXpp3Reader可以直接读取pom文件,之后就可以得到ModelModelmaven-model-3.9.4-sources.jar!/org/apache/maven/model/Model.java {代码...} Model继承了ModelBaseModelBasemaven-model-3.9.4-s...
聊聊springboot的Customizer
codecraft
2023-08-22
阅读 5 分钟
1.2k
序本文主要研究一下springboot的CustomizerTaskExecutorCustomizer {代码...} 之后再构造的时候通过ObjectProvider获取即可 {代码...} TaskSchedulerCustomizer {代码...} RestTemplateCustomizer {代码...} 小结springboot提供了很多Customizer接口方便用户自行扩展,非常值得设计组件的时候使用
聊聊TaskExecutorMetricsAutoConfiguration
codecraft
2023-08-21
阅读 8 分钟
1.3k
springboot2.6.0版本提供了TaskExecutorMetricsAutoConfiguration,可以自动给线程池加上metrics
聊聊java的java.security.egd
codecraft
2023-08-18
阅读 6 分钟
1.4k
/Library/Java/JavaVirtualMachines/temurin-8.jdk/Contents/Home/src.zip!/sun/security/provider/SunEntries.java
聊聊springboot tomcat的maxHttpFormPostSize
codecraft
2023-08-17
阅读 16 分钟
1.7k
tomcat-embed-core-9.0.37-sources.jar!/org/apache/catalina/connector/Request.java
聊聊elasticsearch的data-streams
codecraft
2023-08-06
阅读 4 分钟
1.3k
首先data streams是由一个或者多个自动生成的隐藏索引组成的,它的格式为.ds-<data-stream>-<yyyy.MM.dd>-<generation>示例.ds-web-server-logs-2099.03.07-000034,generation是一个6位的数字,默认从000001开始
使用filebeat收集并解析springboot日志
codecraft
2023-08-05
阅读 4 分钟
2k
序本文主要研究一下如何使用filebeat收集并解析springboot日志安装在官网的下载页面filebeat/downloads提供了一些特定平台的安装包,不过对应linux最为省事的安装方式就是直接下载x86_64压缩包,然后解压即可 {代码...} 解析filebat.yml主要有input和output组成json比如对于json格式的日志,其input示例如下 {代码...} ...
聊聊被AI坑到的经历
codecraft
2023-08-04
阅读 3 分钟
1.3k
序本文主要介绍一下被AI坑到的经历经历1之前写聊聊如何自定义parallelStream的线程池这篇文章的时候,就被坑了一下。起初我是搜索了一下,发现需要类似如下使用: {代码...} 这种方式总感觉不太优雅,而且也不太好直观看出来实现原理,在submit里头用parallel就可以了?后来我用某gpt问了一下,给了如下答案,心想这个靠...
使用kind在mac本地搭建k8s及istio
codecraft
2023-07-31
阅读 4 分钟
1.7k
之前使用multipass装ubuntu,然后再用microk8s搭建k8s,这会直接用orbstack及kind在本地搭建k8s及istio
jenkinsfile小试牛刀
codecraft
2023-07-29
阅读 2 分钟
441
这里定义了Build,它先是git拉取代码,然后执行mvn进行编译,最后在post部分在状态为success时使用junit显示测试报告,并归档jar包
上一页
1
…
More
5
6
7
(current)
8
9
…
More
下一页
上一页
7
(current)
下一页