随笔分类 - software engineering / Java
摘要:对RPC有了初步了解之后,已知在高性能低延迟的场景下,可能RPC调用更适合作为系统服务之间的调用工具。 以下即为gRPC接入SpringBoot 的示例 一、创建server端project framework version SpringBoot 2.5.8 gRPC 1.42.2 protobu
阅读全文
摘要:#!/bin/bash # 应用程序JAR文件的路径 APP_JAR="target/log4j2-1.0.0.jar" # JAR文件名称 APP_NAME="log4j2-1.0.0.jar" # 查找正在运行的进程ID,通过进程ID结束进程 ps -ef | grep "${APP_NAME}
阅读全文
摘要:import java.time.ZonedDateTime; import java.time.ZoneId; import java.time.format.DateTimeFormatter; public class Main { public static void main(String
阅读全文
摘要:https://www.oracle.com/java/technologies/downloads/#java8 https://jdk.java.net/java-se-ri/8-MR6
阅读全文
摘要:import javax.crypto.Cipher; import java.security.*; import java.util.Base64; import java.nio.charset.StandardCharsets; import java.io.ByteArrayOutputS
阅读全文
摘要:使用fastjson序列化对象为字符串时,会遇到属性丢失的情况,示例代码如下 <!-- https://mvnrepository.com/artifact/com.alibaba.fastjson2/fastjson2 --> <!-- 这是比较新的fastjson的版本,旧版本也存在属性丢失的情
阅读全文
摘要:xml字符串转JSON字符串,可以直接通过jackson提供的方法进行快速转换。在web项目中通常会引入spring-boot-starter-web依赖。 但是spring-boot-starter-web依赖包括Jackson的JSON处理库(如jackson-databind、jackson-
阅读全文
摘要:public class Main { public static void main(String[] args) throws Exception { // 生成RSA密钥对 KeyPairGenerator keyGen = KeyPairGenerator.getInstance("RSA"
阅读全文
摘要:对于Stack这个集合类,由类继承关系可知是Vector的子类,根据push入栈方法跟踪代码,可知Vector是一个线程安全的类(高并发场景下使用,那可能不是一个好的选择) 看到这里,显然可以得知Stack入栈出栈的大致原理,就是Vector的elementData对象数组,用来储存数据,入栈时依次
阅读全文
摘要:一个SpringBoot有时会涉及多个数据源(多个数据库),不同数据访问就需要切换数据源,比较常用的方案是dynamic-datasource,但是这种鸡肋框架确实没有太大引入项目的必要(而且有时会出现数据源切换失败的情况),我们可以按如下方式手动配置多数据源DataSource! Github地址
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <m
阅读全文
摘要:Invalid value type for attribute 'factoryBeanObjectType': java.lang.String Property 'sqlSessionFactory' or 'sqlSessionTemplate' are required 在使用orm框架m
阅读全文
摘要:在SpringBoot Project中,会将一些敏感信息配置到application.yml/application.properties配置文件中(同样适用于Spring Cloud的各个微服务其实(微服务实例)本质就是一个SpringBoot),例如数据库的用户名和密码、Redis的密码等。为
阅读全文
摘要:最近遇到当JavaBean不遵循驼峰命名规则时,使用反射赋值失败。但是我的类中属性个数非常多(一个一个改也太恼火了),因此写了个将蛇形变量名转驼峰变量名的方法,在此分享出来供大家使用。 public static void convertToCamelCase(Class<?> clazz) { F
阅读全文
摘要:一、依赖做出修改 在src同级的目录下新建一个目录例如sdk/lib……,用以收纳项目需要使用的SDK/JAR。 在pom.xml中引入时,加入上图所示的标签即可。 也可以将该JAR上传至公司的Maven私服/Alibaba的Maven中央仓库/Apache的Maven仓库,然后通过Maven GA
阅读全文
摘要:web开发时涉及提供接口的时候,Restful接口通用返回类是系统之间交互(前后端对接,内部系统与外部系统对接等场景)时需要统一规范的定义。 然而,笔者在工作中见过许多系统对于该类的设计可谓是五花八门,杂乱无章。当前比较主流的属性结构如图所示(假设类名为RestResult) + + | RestR
阅读全文
摘要:pom.xml引入依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions><!-- 去掉 Spring Boot
阅读全文
摘要:<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:sc
阅读全文
摘要:@Value 注解 优点: 简单易用:@Value 注解非常简单,适用于读取单个属性或简单的配置。 灵活性:可以在任何 Spring 管理的 bean 中使用 @Value 注解,包括普通的 bean、控制器、服务等。 缺点: 缺乏类型安全性:@Value 注解不提供类型安全性检查,如果配置值的类型
阅读全文
摘要:Logback 是 Log4j 的作者的另一个开源日志组件,与 Log4j 相比,Logback 重新了内核,使它的性能提升了很多,大约是 Log4j 的 10 倍,同时占用更小的内存,并且完整的实现了 SLF4J API 是你可以很方便的切换日志框架。 SpringBoot 默认集成了 Logba
阅读全文

浙公网安备 33010602011771号