java
one_smail
这个作者很懒,什么都没留下…
展开
-
SpringBoot中使用ThreadPoolExecutor和ThreadPoolTaskExecutor线程池的方法和区别
SpringBoot中使用ThreadPoolExecutor和ThreadPoolTaskExecutor的方式和区别原创 2022-10-29 01:11:30 · 4688 阅读 · 1 评论 -
SpringBoot中使用本地缓存
SpringBoot中使用Caffeine实现本地缓存原创 2022-10-17 17:36:14 · 3752 阅读 · 0 评论 -
常用util类中注入其它对象bean
普通类中注入指定bean对象原创 2022-10-12 12:43:58 · 975 阅读 · 0 评论 -
SpringBoot统一返回处理遇到cannot be cast to java.lang.String问题
接口返回格式统一处理后,接口返回值为string时报错cannot be cast to java.lang.String问题原创 2022-10-12 12:23:42 · 2457 阅读 · 0 评论 -
SpringBoot统一处理返回格式
SpringBoot接口返回格式统一处理原创 2022-10-12 12:15:29 · 1509 阅读 · 0 评论 -
SpringBoot全局异常处理
SpringBoot全局异常捕获并处理原创 2022-10-05 22:16:13 · 192 阅读 · 0 评论 -
使用google.zxing实现二维码制作
使用google.zxing制作二维码原创 2022-10-05 00:05:59 · 519 阅读 · 0 评论 -
Java创建对象的5种方法
使用new关键字 通过使用此方法,我们可以调用要调用的任何构造函数,即可以调用无参数的构造函数也可以调用有参数的构造函数。 User user = new User(); User user = new User(1,”admin”,19);使用Class类的newInstance()方法 例如: User user = Class.forName(“com.smile.entity.User”).newInstance()...原创 2022-04-27 00:39:47 · 2827 阅读 · 0 评论 -
SpringBoot利用Redis实现接口限流
依赖 <!--redis--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> </dependency>配置即redis相关配置s原创 2022-04-26 19:04:15 · 365 阅读 · 0 评论 -
读取nacos配置失败
使用SpringCloud(2021.0.1)、SpringCloudAlibaba(2021.0.1.0)、SpringBoot(2.6.6)、nacos最新版本在读取nacos配置中心内容的时候,无法读取。使用JDK17 首先确定关键性依赖都是最新的,并没有版本依赖不符合的问题,查询依赖之间版本号关系可通过SpringCloud和SpringCloudAlibaba以及nacos官网去查询,这里附上SpringCloudAlibaba的github地址:版本说明 · a...原创 2022-04-21 16:26:16 · 2354 阅读 · 0 评论 -
Jasypt实现数据加解密(脱敏)
场景一:对配置文件中的裸露的密码进行加密1、添加依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.4</version>原创 2022-04-14 16:32:39 · 11347 阅读 · 3 评论 -
使用jasypt加密配置文件敏感信息
jasypt是一个用来加密配置文件中的信息的工具包。使用如下所示一、引入依赖(版本好根据自己项目自行修改) <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>原创 2022-02-14 11:38:56 · 438 阅读 · 0 评论 -
SpringBootAdmin+actuator进行服务监控
SpringBootAdmin可以监控SpringBoot单击或集群项目,提供详细的健康信息、内存信息、JVM系统和环境属性、垃圾回收信息、日志设置和查看、定时任务查看、SpringBoot缓存查看和管理功能。第一步:监控服务端搭建 创建一个SpringBoot项目,添加下面依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spr...原创 2022-01-14 10:44:40 · 926 阅读 · 0 评论 -
Springboot整合FluentMybatis
为什么要使用FluentMybatisFluent Mybatis比较吸引人的地方正如它所说的,1、No XML,No Mapper, No If else,No String2、只需要Entity就可以实现强大的FluentAPI:支持分页、嵌套查询,AND OR组合,聚合函数...第一步:添加依赖注意:1、不可少了mybatis和springboot的整合包;2、junit依赖默认生效限制<!--mybatis和springboot的整合包--> .原创 2022-01-13 17:32:46 · 1363 阅读 · 0 评论 -
MyBatis配置进行数据加密和解密
在数据库中经常会保存一下用户的敏感数据信息,例如身份证号、手机号、用户密码等。如果这些信息以明文的方式保存,一旦数据被恶意获取到就会导致这这些敏感信息的泄露。第一步:依赖除了正常的mybatis和springboot开发依赖包之外,需要额外加入以下包<!-- Hutool 加密解密 --> <dependency> <groupId>cn.hutool</groupId> <a原创 2022-01-11 17:25:59 · 6619 阅读 · 0 评论 -
将 Bean 放入 Spring 容器的几种方式
@Configuration + @Bean @ComponentScan + @Component @Import 配合接口进行导入 使用FactoryBean。 实现BeanDefinitionRegistryPostProcessor进行后置处理。原创 2022-01-10 19:02:16 · 548 阅读 · 0 评论 -
SpringBoot使用@Async异步调用与线程池
工作中进程涉及异步任务,通常是使用多线程技术,比如线程池ThreadPoolExecutor,但使用Executor容易产生OOM,需要手动使用ThreadPoolExecutor创建线程池;在SpringBoot中使用@Async可以实现异步调用,配置线程池参数,可以简单的实现多线程的线程池效果,从而简化开发,避免OOM。OOM:全称"Out Of Memory",意思就是"内存用完了"。当JVM因为没有足够的内存来为对象分配空间并且垃圾回收器也已经没有空间可以回收时,就会抛出这个问题。之所以会没有内原创 2022-01-10 16:50:12 · 3557 阅读 · 1 评论 -
SpringBoot自定义异常类
一、使用枚举自定义异常类消息import lombok.AllArgsConstructor;import lombok.NoArgsConstructor;/** * 异常消息 */@AllArgsConstructor@NoArgsConstructorpublic enum CodeMsg { SUCCESS(200,"success"), SERVER_ERROR(500,"服务端异常"), Request_Error(404,"请求异常"),转载 2022-01-10 13:23:00 · 1295 阅读 · 0 评论 -
SpringBoot实现接口等幂次校验
接口等幂性通俗的来说就是同一时间内,发起多次请求只有一次请求成功;其目的时防止多次提交,数据重复入库,表单验证网络延迟重复提交等问题。主流的实现方案如下:1、唯一索引:给表加唯一索引,该方法最简单,当数据重复插入时,直接报sql异常,对应用影响不大;alter table 表名 add unique(字段)示例,两个字段为唯一索引,如果出现完全一样的order_name,create_time就直接重复报异常;alter table 'order' add unique...原创 2022-01-10 13:17:28 · 1202 阅读 · 0 评论 -
SpringBoot集成Validation参数校验
1、依赖 SpringBoot在web启动器中已经包含validator包 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>非SpringBoo...转载 2022-01-10 10:57:57 · 998 阅读 · 0 评论 -
Linux中安装Redis
1、下载redisRedishttps://redis.io/download2、上传至linux服务器,通过tar -zxvf 包名解压安装包3、安装gcc环境yum install -y gcc-c++4、进入解压后的redis包下 执行make 对解压后的文件进行编译5、解压文件有个src目录,进入该目录 执行make install 进行redis安装6、为了方便管理,将redis文件中的conf配置文件和常用命令移动到统一文件中...原创 2021-12-27 15:54:05 · 482 阅读 · 0 评论 -
NumberFormat格式化数字
import java.text.NumberFormat;import java.util.Locale;public class NumberFormat格式化数字 { /** * NumberFormat包含了format()和parse() * 其中format()用于将数值转化成字符串 * parse()用于将字符串解析成数值 * * getCurrencyInstance():返回默认Locale的货币格式器。也可以在调用该方法.原创 2021-12-25 22:57:14 · 624 阅读 · 0 评论 -
国际化与格式化
国际化是指程序运行时,可根据客户端氢气来自的国家/地区、语言的不同而显示不同的界面。 引入国际化的目的为了提供自适应、更友好的用户界面,并不需要改变程序的逻辑功能,国际化的单词时Internationalization,简称(I18N). Java程序的国际化主要通过如下三个类完成 1、java.util.ResourceBundle:用于加载国家、语言资源包; 2、java.util.Locale:用于封装特定的国家/...原创 2021-12-25 22:22:42 · 322 阅读 · 0 评论 -
SpringBoot+Netty+WebSocket
一、使用到的依赖 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.63.Final</version> </dependency> <dependency&原创 2021-11-30 18:08:22 · 564 阅读 · 0 评论 -
ActiveMQ在windows上的下载安装与配置
一、下载 通过官网即可下载:ActiveMQ下载后直接解压缩就可以使用它的目录结构树如下:bin:是服务启动相关命令文件的所在目录;data:是默认持久化文件所在目录;docs:里面放的是用户手册;conf:是配置文件所在目录,任何配置文件修改后,必须重启activemq,才能失效二、配置文件说明1、activemq.xml 配置的是ActiveMQ应用使用的默认对象组件。transportConnectors标签:配置链接...原创 2021-11-16 13:31:50 · 3669 阅读 · 0 评论 -
Java项目中接口如何调用
一、HttpClient HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持Htto协议的客户端编程工具包,并且它支持HTTP协议最新版本和建议。HttpClinet相比传统JDK自带的URLConnection,提升了易用性和灵活性,使客户端发送HTTP请求变得容易,提高了开发效率;二、OkHttp 一个处理网络请求的开源项目,是安卓端最火的轻量级框架。用于替代HttpUrlConnection和Apa...原创 2021-11-14 21:45:58 · 775 阅读 · 0 评论 -
时间切片与循环请求处理
1、通过方法计算两个时间段的差值,以Double数据类型返回,因为后续切片循环处理,不满一次的需要按照一次计算public Double timeMethodOfHous(String beginTime, String endTime) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date beginDate; Date endDate;原创 2021-11-11 21:59:42 · 413 阅读 · 0 评论 -
计算两个时间的差值
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.example.demo.entity.CarInfos;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import java.text..原创 2021-11-11 21:48:23 · 301 阅读 · 0 评论 -
比较两个时间的大小
import com.alibaba.fastjson.JSONObject;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;.原创 2021-11-11 21:46:29 · 728 阅读 · 0 评论 -
项目配置中数据库密码的加密
以SpringBoot项目为例,一般我们在开发的时候,需要在application.yml文件中写上数据库的连接信息,包括数据库密码。通常我们将数据库密码也是以明码的方式书写的,这就导致数据库密码裸露在外,不够安全。 下面使用PBE加密算法:PBEWITHMD5andDES,对数据库密码进行加密,在配置文件中使用密文,让数据库密码不至于太过暴漏。1、添加依赖 <!-- 数据库加密配置--> <dependency&g...原创 2021-10-31 15:31:15 · 1680 阅读 · 0 评论 -
检查字符串是否为合法的日期格式
检查字符串是否为合法的日期格式从以下三个方面说起:1、字符串格式是否正确,比如格式是否是yyyy-MM-dd2、时间是否在合法范围内,比如我们需要限定在一个月内的时间3、字符串是否可以解析为正常的时间,比如2月30号就不是正常的时间第一种:使用DateFormat检查1、定义时间校验器的接口 接口方法接收一个字符串,返回布尔类型,标识字符串是否是合法的时间格式public interface DateValidator { boolean isValid...原创 2021-10-29 18:33:13 · 7322 阅读 · 1 评论 -
SpringBoot项目打包启动报错jar中没有主清单属性
原因是在pom.xml中没有添加构建工具,修改pom.xml,添加以下内容即可 <!--SprinBoot构建插件--> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-b原创 2021-09-28 21:20:45 · 242 阅读 · 0 评论 -
为项目启动生成一个随机端口
在实际开发中,项目的端口都是定好的,通过server.port可以指定端口。当一个服务想要启动多个实例时,就需要改变端口,特别是在微服务中,服务都会注册到注册中心去,为了能够让服务随时都可以扩容,在服务启动的时候能随机生成一个可以使用的端口是最好不过的。 第一种:在配置文件中通过server.port指定。指定的值通过${random}来随机生成server: port: ${random.int[2000,8000]} 这种通过配置文件的方式是...原创 2021-09-13 20:37:19 · 1465 阅读 · 0 评论 -
异步执行Async
异步调用就是不用等待结果的返回就执行后面的逻辑;同步调用则需要等待结果再执行后面的逻辑。 通常我们使用异步操作的时候都会创建一个线程执行一段逻辑,然后把这个线程丢到线程池中去执行...原创 2021-09-13 19:54:39 · 711 阅读 · 0 评论 -
统一异常处理
如果调用接口的时候我们把接口地址写错,就会得到一个404错误,如果是其它接口原因报错也会得到其它的报错状态码。{ "timestamp":"1492093712290", "status":404, "errot":"Not Found", "path":"/restll/auth"} 但是前端开发人员拿到如上面返回的时候是无法识别的。最明显的就是status字段,我们自定义的是boolean类型,用来标识请求是否成功,但是上面返回的...原创 2021-09-13 18:25:34 · 206 阅读 · 0 评论 -
SpringBoot读取配置文件配置信息
第一:通过Environment 通过Environment的getProperty()方法获配置信息,其中server.port就是指配置文件中的配置keyimport org.springframework.beans.factory.annotation.Autowired;import org.springframework.core.env.Environment;import org.springframework.web.bind.annotation.GetMap...原创 2021-09-13 17:25:41 · 760 阅读 · 0 评论 -
bpmn文件转换为png格式图片
1、首先通过idea复制一份创建好的bpmn文件,粘贴的时候,修改为xml格式文件;2、选中重命名的xml文件,右键单击,进行转换3、点击如图所示位置的图标,选择保存到自己指定的位置,完成bpmn到png的转换...原创 2021-09-13 12:59:39 · 2583 阅读 · 0 评论 -
idea安装actiBPM,创建bpmn文件
idea低版本在pluging中搜索actiBPM的时候是搜索不到的,因此要使用actiBPM插件的话就需要手动导入actiBPM相关jar包。这种方法适用于所有插件安装。 1、jar下载地址:JetBrains Marketplacehttps://plugins.jetbrains.com/2、选择自己需要的版本,下载到本地保存 3、idea内导入本地jar文件,重启idea 4、创建bpmn文件,开始后...原创 2021-09-13 11:15:11 · 2102 阅读 · 0 评论 -
SpringBoot整合MyBatis(xml文件内书写sql)
一、添加依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <..原创 2021-07-08 17:02:05 · 986 阅读 · 1 评论 -
文件上传
一、单文件上传 @RequestMapping("fileUpload") @ResponseBody public String fileUpload(@RequestParam("fileName") MultipartFile file) { if (file.isEmpty()) { return "false"; } String fileName = file.getOriginalFilenam原创 2021-04-19 17:00:37 · 221 阅读 · 0 评论