Java开发
hlli86
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Java变量初始化顺序
文章目录Java变量初始化顺序Java变量初始化顺序Ⅰ、Java变量初始化顺序:静态变量或静态语句块(按声明顺序)–> 非静态变量或构造代码块(按声明顺序)–> 构造方法 –> @Value/@Autowired等注解Ⅱ、执行一个class 的mian 方法时执行顺序:静态代码块 > mian方法 > 构造代码块 > 构造方法,其中静态代码块只执行一次,构造代码块在每次创建对象时都会执行;备注:1、普通代码块:在方法或语句中出现的{}就称为普通代码块;普通原创 2022-02-04 12:01:02 · 1243 阅读 · 0 评论 -
自定义一个Spring Boot Starter 实现在日志中打印方法执行时间
自定义一个Spring Boot Starter 实现在日志中打印方法执行时间原创 2022-02-04 00:59:59 · 795 阅读 · 0 评论 -
springboot通过@PostConstruct给静态变量赋值
springboot通过@PostConstruct给静态变量赋值原创 2022-02-02 17:35:53 · 1284 阅读 · 0 评论 -
PageHelper插件查询结果获取Total的数量不对
PageHelper插件查询结果获取Total的数量不对原创 2022-02-02 14:43:13 · 611 阅读 · 0 评论 -
Springboot实现请求转发和重定向
文章目录Springboot实现请求转发和重定向一、请求转发方式一:使用forword实现请求转发方式二:使用servlet 提供的API实现请求转发二、请求重定向方式一:使用redirect实现请求重定向方式二:使用servlet 提供的API实现请求重定向Springboot实现请求转发和重定向一、请求转发方式一:使用forword实现请求转发@RequestMapping(value="/api/v1/{name}" , method = RequestMethod.GET)public S原创 2021-11-20 14:33:39 · 3135 阅读 · 0 评论 -
lombok 插件@Accessors注解用法
文章目录lombok 插件@Accessors注解用法1、@Accessors(fluent = true)2、@Accessors(chain = true)3、@Accessors(prefix = "u")lombok 插件@Accessors注解用法1、@Accessors(fluent = true)//getter和setter方法的方法名为基础属性名,且setter方法返回当前对象@Data@Accessors(fluent = true)public class User {原创 2021-10-05 17:08:54 · 214 阅读 · 0 评论 -
PostgreSQL 按年月日动态创建分区表
文章目录PostgreSQL 按年月日动态创建分区表1、创建主表2、动态创建分区表3、删除数据4、解除其与主表的继承关系5、更改分区表的表空间PostgreSQL 按年月日动态创建分区表1、创建主表CREATE TABLE event_records ( id serial NOT NULL, -- 主键ID person_id varchar NULL, -- 人员ID person_name varchar NULL, -- 人员姓名 card_no varchar NULL, -- 卡号原创 2021-10-05 15:49:55 · 2758 阅读 · 0 评论 -
如何将Spring boot项目中变化不大的jar包提取到外部
如何将Spring boot项目中变化不大的 jar 提取到外部一、详细使用步骤1、通过配置使spring-boot-maven-plugin插件在打包时忽略特定的依赖2、备份原先的依赖//使用命令将依赖导出mvn dependency:copy-dependencies3、将一些变化不大的 jar包copy 到外部文件 lib 文件夹中4、修改 pom 文件内容 <build> <plugins> <plugin>原创 2021-09-05 13:22:48 · 255 阅读 · 0 评论 -
Springboot引入本地jar包,并通过maven把项目打包成jar包部署
文章目录Springboot引入本地jar包,并通过maven把项目打包成jar包部署一、配置资源引用二、方法一二、方法二Springboot引入本地jar包,并通过maven把项目打包成jar包部署一、配置资源引用 <!--Maven提供了scope为system的依赖,我们可以在maven中进行如下配置--> <dependency> <groupId>com.efivestar</groupId> <artif原创 2021-09-05 10:23:11 · 426 阅读 · 0 评论 -
Windows查看某个端口被占用的解决方法
文章目录Windows查看某个端口被占用的解决方法一、操作步骤二、应用案例Windows查看某个端口被占用的解决方法一、操作步骤1、使用Win+R快捷建打开运行,输入 cmd,调出命令窗口2、输入命令:netstat -ano,列出所有端口的情况3、输入命令:netstat -aon|findstr "17058",查看被占用端口对应的PID4、输入命令:tasklist|findstr "13592",查看是哪个进程或者程序占用了17058端口5、或者是打开任务管理器也能根据PID找到进程原创 2021-09-04 22:21:08 · 202 阅读 · 0 评论 -
java.io.IOException: Unable to open nested jar file ‘BOOT-INF/lib/event-core-1.0.6.jar‘
文章目录java.io.IOException: Unable to open nested jar file 'BOOT-INF/lib/event-core-1.0.6.jar'问题:springboot项目在使用压缩软件修改打包后jar包中依赖包配置项后,启动时报错,报错内容如下原因:替换或者导入jar包时,jar包被自动压缩,springboot规定嵌套的jar包不能在被压缩的情况下存储解决办法:使用jar命令解压jar包,重新替换jar包再进行压缩java.io.IOException: Una原创 2021-09-04 21:54:05 · 2146 阅读 · 0 评论 -
如何在IDEA Maven项目中导入本地jar包的步骤
文章目录如何在IDEA Maven项目中导入本地jar包的步骤一、打开侧面的maven,点击图中箭头指向的图标二、出现如下弹窗,在Command line在中输入执行的指令三、点击执行,显示“BUILD SUCCESS”即表示成功四、pom.xml中添加依赖即可使用如何在IDEA Maven项目中导入本地jar包的步骤一、打开侧面的maven,点击图中箭头指向的图标二、出现如下弹窗,在Command line在中输入执行的指令install:install-file -Dfile=<Jar包原创 2021-08-13 18:55:41 · 749 阅读 · 0 评论 -
读取JSON配置文件的值
文章目录读取JSON配置文件的值1、使用fastjson工具类读取文件2、URL.JSON文件3、序列化实体类读取JSON配置文件的值1、使用fastjson工具类读取文件ClassPathResource fileResource = new ClassPathResource("config/url.json"); UrlBo urlBo = JSON.parseObject(fileResource.getInputStream(), StandardCharsets.UTF_8, UrlBo原创 2021-04-03 21:49:59 · 223 阅读 · 0 评论 -
巧用枚举类实现对多重if-else的逻辑判断让代码更优雅
文章目录巧用枚举类实现对多重if-else的逻辑判断让代码更优雅1、构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法2、编写一个腾讯的规则类,定义具体对于腾讯渠道数据的处理逻辑3、编写一个头条的规则类,定义具体对于头条数据的处理逻辑4、建立一个简单的枚举类5、使用规则对数据进行处理巧用枚举类实现对多重if-else的逻辑判断让代码更优雅1、构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法pr原创 2021-04-03 18:14:30 · 502 阅读 · 0 评论 -
巧用策略模式实现if-else的判断
文章目录巧用策略模式实现if-else的判断1、Strategy接口2、StrategyImpl实现类3、将实现Strategy的实现类都自动注入到strategyMap类4、测试结果巧用策略模式实现if-else的判断1、Strategy接口/** * @ClassName StrategyService * @Description TODO * @Author hl * @Date 2021/3/17 11:24 * @Version 1.0 */public interface原创 2021-04-03 18:09:20 · 269 阅读 · 0 评论 -
图片、文件下载与转码
文章目录将https、http地址对应的图片转换为base64编码将https、http地址对应的图片转换为base64编码import lombok.extern.slf4j.Slf4j;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import jav原创 2021-04-03 17:26:55 · 184 阅读 · 0 评论 -
Linux命令修改时间实现校时
文章目录Linux命令修改时间实现校时1、查看硬件的时间2、设置硬件时间3、设置系统时间和硬件时间同步4、保存时钟Linux命令修改时间实现校时1、查看硬件的时间hwclock --show2、设置硬件时间hwclock --set --date '2020-12-21 11:25:00'3、设置系统时间和硬件时间同步hwclock --hctosys备注:相关常用命令如下# 硬件时钟与系统时钟同步hwclock --hctosys 或者 clock --hctosys#--原创 2021-04-03 12:31:35 · 870 阅读 · 0 评论 -
SpringBoot整合Quartz调度框架实现任务调度
文章目录SpringBoot整合Quartz调度框架实现任务调度1、添加依赖2、yml配置3、创建任务测试类4、QuartzConfiguration配置5、Mysql建表语句SpringBoot整合Quartz调度框架实现任务调度1、添加依赖 <!-- quartz依赖 --> <dependency> <groupId>org.springframework.boot</groupId>原创 2021-03-21 22:29:33 · 209 阅读 · 0 评论 -
logback.xml常用日志信息详细配置
文章目录logback.xml常用日志信息详细配置logback.xml常用日志信息详细配置<?xml version="1.0" encoding="UTF-8"?><!-- 日志级别从低到高分为TRACE < DEBUG < INFO < WARN < ERROR < FATAL,如果设置为WARN,则低于WARN的信息都不会输出 --><!-- scan:当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true原创 2021-03-20 23:52:53 · 319 阅读 · 0 评论 -
去除 Java 中ArrayList集合重复数据的常用方法
文章目录去除 Java 中ArrayList集合重复数据的常用方法1、使用LinkedHashSet删除arraylist中的重复数据2、使用java8新特性stream进行List去重3、利用HashSet不能添加重复数据的特性4、利用List的contains方法循环遍历5、双重for循环去重去除 Java 中ArrayList集合重复数据的常用方法1、使用LinkedHashSet删除arraylist中的重复数据import java.util.ArrayList;import java.u原创 2021-03-15 22:58:11 · 411 阅读 · 1 评论 -
SpringBoot整合poi实现Word文件的导出
文章目录SpringBoot整合poi实现Word文件的导出1、引入Maven依赖2、封装WordUtils工具类3、Word导出应用案例SpringBoot整合poi实现Word文件的导出1、引入Maven依赖 <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</原创 2021-01-30 17:16:38 · 990 阅读 · 0 评论 -
如何判断一个数组中是否包含一个字符或字符串
文章目录如何判断一个数组中是否包含一个字符或字符串1、遍历数组2、先把数组转换成list,再判断如何判断一个数组中是否包含一个字符或字符串1、遍历数组String[] arr = {"1","2","3","4","6","7"};for (int i = 0; i < arr.length; i++) {if("6".equals(arr[i])) {//Todo}else {//Todo}}2、先把数组转换成list,再判断String[] arr = {"1","2",原创 2021-01-30 16:18:11 · 3097 阅读 · 0 评论 -
cmd控制台中文乱码解决办法
文章目录cmd控制台中文乱码解决办法1.打开cmd控制台2.在命令行输入chcp 65001后回车3.要使编码的改变永久生效,需要在属性中勾上【丢弃旧的副本】选项cmd控制台中文乱码解决办法1.打开cmd控制台//查看当前字符编码,如果是乱码的话,这时通常是936,代表的是GBK编码chcp2.在命令行输入chcp 65001后回车//65001代表的是UTF-8编码chcp 650013.要使编码的改变永久生效,需要在属性中勾上【丢弃旧的副本】选项...原创 2021-01-23 22:38:57 · 2051 阅读 · 0 评论 -
maven常用打包命令
文章目录maven常用打包命令maven常用打包命令//package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库mvn clean package -Dmaven.test.skip=true备注:clean是清除之前的jar包 -Dmaven.test.skip=true是忽略测试代码 //install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形原创 2021-01-17 22:54:18 · 587 阅读 · 0 评论 -
根据总记录数获取分页总数
文章目录根据总记录数获取分页总数根据总记录数获取分页总数//每页记录数量int pageSize = 20; //总记录数int totalCount = 100; //总页数int pageCount; //方法一:推荐写法pageCount = (totalCount + pageSize - 1) / pageSize; //方法二:pageCount = (totalCount - 1) / pageSize + 1;//方法三:pageCount = (int)Math.原创 2021-01-17 22:13:11 · 901 阅读 · 0 评论 -
SpringBoot如何开启事务
文章目录SpringBoot如何开启事务1 、在SpringBoot入口类使用注解@EnableTransactionManagement开启事务2、 在访问数据库的service方法上添加注解@TransactionalSpringBoot如何开启事务1 、在SpringBoot入口类使用注解@EnableTransactionManagement开启事务@EnableTransactionManagement@SpringBootApplicationpublic class Applicat原创 2021-01-17 22:04:18 · 1399 阅读 · 0 评论 -
pom.xml文件中dependency标签的scope属性的几种取值及对应的项目阶段
文章目录pom.xml文件中dependency标签的scope属性的几种取值及对应的项目阶段pom.xml文件中dependency标签的scope属性的几种取值及对应的项目阶段scope属性值类型:compile(默认):编译范围、provided:提供范围、runtime:系统运行时、test:测试阶段、system:系统范围项目阶段生命周期:compile:编译阶段、test:测试阶段、run:运行阶段、deploy:发布阶段scopecompiletestrundeploy原创 2021-01-17 19:11:57 · 1187 阅读 · 1 评论 -
时间和字符串格式之间的转换,以及时间差的计算方法
文章目录时间和字符串格式之间的转换,以及时间差的计算方法1、计算时间差2、时间和字符串格式之间的转换2.1、String转LocalDateTime2.2、LocalDateTime转String2.3、将LocalDateTime转换为时区ISO 8601字符串2.4、将ISO 8601字符串转换回LocalDateTime时间和字符串格式之间的转换,以及时间差的计算方法1、计算时间差方法一:LocalDateTime now = LocalDateTime.now();LocalDateTim原创 2021-01-16 23:10:00 · 592 阅读 · 0 评论 -
给Mysql 用户赋予权限解决使用localhost连接成功,IP连接失败的问题
Mysql使用localhost连接成功,使用IP连接失败1、创建新用户CREATE USER '用户名'@'%' IDENTIFIED BY '密码';2.给新用户赋予数据库的权限grant all privileges on *.* to '用户名'@'%';grant all privileges on *.* to '用户名'@'IP地址' IDENTIFIED BY '密码';all privileges 所有权限,也可以写成select、updateIDENTIFIED BY原创 2021-01-16 16:00:44 · 260 阅读 · 1 评论 -
修改PostgreSQL数据库的配置文件解决IP远程登录失败问题
文章目录修改PostgreSQL数据库的配置文件解决IP远程登录失败问题1、配置服务器接受远程连接2、配置服务器防火墙设置修改PostgreSQL数据库的配置文件解决IP远程登录失败问题1、配置服务器接受远程连接Ⅰ、编辑postgresql.conf文件#listen_addresses = 'localhost’ --》 listen_addresses = '*'#port = 5432--》 port = 5432 Ⅱ、编辑pg_hba.conf文件添加一行 ---》 hos原创 2021-01-16 15:34:03 · 625 阅读 · 0 评论 -
Spring Data JPA 使用@Query实现数据库的CRUD
文章目录Spring Data JPA 使用@Query实现数据库的CRUD1、使用参数索引2、使用命名参数3、更新查询Spring Data JPA 使用@Query实现数据库的CRUD1、使用参数索引public interface UserRepo extends JpaRepository<User,Long>{ @Query("select p from User p where p.address= ?1") List<User> findByAdd原创 2021-01-16 15:15:30 · 397 阅读 · 1 评论 -
Spring Data JPA分页实现动态SQL条件查询
文章目录Spring Data JPA分页实现动态SQL条件查询Spring Data JPA分页实现动态SQL条件查询Specification<PersonEntity> specification = new Specification<PersonEntity>() { /** * * @param root 实体对象引用 * @param criteriaQuery 规原创 2021-01-16 14:38:25 · 696 阅读 · 0 评论 -
Java8新特性:java.util.Optional类的使用
文章目录Java8新特性:java.util.Optional类的使用1、创建Optional对象2、获取Optional对象中的值Java8新特性:java.util.Optional类的使用1、创建Optional对象Ⅰ、empty()方法用于创建一个没有值的Optional对象 Optional<String> emptyOpt = Optional.empty(); 备注:empty()方法创建的对象没有值,如果对emptyOpt变量调用isPresent()方法会返回原创 2021-01-16 14:31:54 · 1357 阅读 · 0 评论 -
Spring Data JPA Example基本使用实例
文章目录Spring Data JPA Example基本使用实例1、创建实体映射2、根据条件精准匹配3、自定义匹配器规则Spring Data JPA Example基本使用实例1、创建实体映射@Entity@Table(name="tb_user")@Data@AllArgsConstructor@NoArgsConstructor@ToStringpublic class User { @Id @GeneratedValue(strategy = Generatio原创 2021-01-16 14:15:35 · 719 阅读 · 0 评论 -
在Kettle中如何使用Java脚本处理数据
文章目录在Kettle中如何使用Java脚本处理数据在Kettle中如何使用Java脚本处理数据import java.text.ParseException;import java.util.*;public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException { Object[] r = getRow(); if(r == null){ se原创 2020-12-25 22:55:11 · 511 阅读 · 0 评论 -
Java读取Json文件工具类
文章目录Java读取Json文件工具类Java读取Json文件工具类//读取json文件public static String readJsonFile(String fileName) { String jsonStr = ""; try { File jsonFile = new File(fileName); FileReader fileReader = new FileReader(jsonFile); Reader read原创 2020-12-25 21:49:13 · 1024 阅读 · 0 评论 -
MybatisPlus实现批量插入更新数据库
文章目录MybatisPlus实现批量插入更新数据库MybatisPlus实现批量插入更新数据库 <insert id="batchSaveOrUpdate" parameterType="java.util.List"> INSERT INTO user (<include refid="field" />) <foreach collection="userList" item="item" separator="," o原创 2020-12-13 19:10:27 · 2624 阅读 · 0 评论 -
MybatisPlus条件构造器的使用
文章目录MybatisPlus条件构造器的使用1、QueryWrapper2、LambdaQueryWrapper3、LambdaQueryChainWrapperMybatisPlus条件构造器的使用1、QueryWrapper //1、条件用法 List<User> userList = userMapper.selectList(new QueryWrapper<User>() //email对应数据库中列名原创 2020-12-13 18:58:04 · 382 阅读 · 0 评论 -
Java中的volatile关键字的使用
文章目录volatile是Java 虚拟机提供的轻量级的同步机制1、volatile 三大特性2、volatile 应用案例volatile是Java 虚拟机提供的轻量级的同步机制1、volatile 三大特性①保证可见性②不保证原子性③禁止指令排序2、volatile 应用案例package pattern.singleton;public class LazySignleton { private static volatile LazySignleton instance原创 2020-11-30 21:23:06 · 131 阅读 · 1 评论 -
Java开发中使用StringUtils工具类实现对字符串进行判空
Java开发中使用StringUtils工具类实现对字符串进行判空1、 isNotEmpty 和isNotBlank的区别//判断一个字符串除去空格之后的长度,因为空字符串也是有长度的str.trim().length//判断一个字符串不为空 isNotEmpty(str)=> str != null && str.length > 0 isNotBlank(str)=> str != null && str.length > 0原创 2020-11-28 16:41:14 · 536 阅读 · 0 评论
分享