Java
Java相关
知北行
不积跬步,无以至千里,不积小流,无以成江海
展开
-
Java中JSONObject,JSONArray,Map,String之间转换
转自: java和js中JSONObject,JSONArray,Map,String之间转换1.String转JSONObject(1).String jsonMessage = "{\"语文\":\"88\",\"数学\":\"78\",\"计算机\":\"99\"}";JSONObject myJson = JSONObject.fromObject(jsonMessage);(2).用阿里巴巴的fastjson的jar包String str = "{\"baid\":null,.转载 2021-05-27 16:07:44 · 994 阅读 · 0 评论 -
java 判断文件夹或文件是否存在
判断文件夹是否存在,不存在则创建File folder = new File("d:\\test1\\test2");if (!folder.exists() && !folder.isDirectory()) { folder.mkdirs(); System.out.println("创建文件夹");} else { System.out.println("文件夹已存在");}判断文件是否存在,不存在则创建File file = new Fi.原创 2021-05-19 21:28:17 · 2550 阅读 · 0 评论 -
java 读取 CSV文件的数据并保存到java的List<List<>>中
import java.io.BufferedReader;import java.io.FileReader;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class ReadCsv { public static void main(String[] args) { String filePath = "D:\\Desktop\\cookieTest.c原创 2021-05-19 21:21:31 · 1504 阅读 · 0 评论 -
Kafka 使用SASL接入点PLAIN机制收发消息(集成Spring Boot)
默认接入点接入kafka可以参考: Spring工程项目使用拉取型消费者 KafkaConsumer的常用配置及注意事项这里没有直接使用 spring封装的kafkaTemplate, 使用的是 原生的 Java API ,支持使用拉取型消费者 并使用 poll() 方法拉取消费消息.1. 消费者具体常用配置项1. 添加pom.xml 文件:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apa原创 2021-02-05 17:45:23 · 1184 阅读 · 0 评论 -
Spring Boot 修改日志输出等级
日志的级别如下TRACE < DEBUG < INFO < WARN < ERROR < FATALspringboot默认是INFO,因此低于INFO的TRACE和DEBUG都不会输出1. 在配置文件 application.properties 中设置修改根级别的日志输出等级logging.level.root=warn也可以设置包级别的日志logging.level.org.springframework.web=debug此时包名为 org转载 2021-02-05 17:43:55 · 8553 阅读 · 0 评论 -
Spring Boot 输出日志到文件(简单配置或使用 logback.xml 文件)
1. 简单配置如果不需要进行复杂的日志配置,则在配置文件中进行简单的日志配置即可,默认情况下,SpringBoot日志只记录到控制台,不写日志文件。如果希望在控制台输出之外编写日志文件,则需要在 application.yml 配置文件中进行配置logging: file: name: D:/Projects/spring-test.log # 日志文件绝对路径及名称 level: root: info #日志级别 root表示所有包,也可以单独配置具体包 fatal>原创 2021-02-05 17:41:21 · 10731 阅读 · 2 评论 -
springboot下JdbcTemplate打印sql语句配置
JdbcTemplate执行sql语句的过程会做打印sql语句的操作,只不过我们的日志级别没有设置为debug,将自己的日志级别设置为debug就可以了修改yml的配置文件为logging: level: org.springframework.jdbc.core.JdbcTemplate: DEBUG即可自动打印 sql 语句转自:springboot下JdbcTemplate打印sql语句配置...转载 2021-02-05 17:29:44 · 4663 阅读 · 1 评论 -
spring 使用 jdbcTemplate 查询 MySQL中 timestamp类型数据不准确的问题
原因: 可能是时区设置问题解决方法: 在数据库连接的url中加上时区的设置, 如果使用 springboot, 在 application.properties 文件中添加:spring.datasource.url=jdbc:mysql://localhost:3306/volunteer?serverTimezone=GMT%2B8参考: SpringBoot连接MYSQL时区问题常见解决方案...转载 2021-01-10 18:18:04 · 1360 阅读 · 0 评论 -
Spring Boot 集成 es 启动报错
Spring Boot 集成 es 启动报错原因: 往往一些不知名的错误都是因为版本原因, 一般修改版本后都能解决无报错的一个版本 :spring-parent使用 2.2.10版本, es 使用6.8.12版本, 具体的一个pom.xml 如下:<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/原创 2020-12-24 22:08:51 · 384 阅读 · 0 评论 -
Spring Boot 简单集成 Kafka实现收发消息
Spring Boot 简单集成 Kafka实现收发消息参考: springboot系列八、springboot整合kafka其他参考: springboot下 kafka 手动创建topic并指定分区(partition)数及分区副本(replica)数转载 2020-12-24 22:05:22 · 374 阅读 · 0 评论 -
Spring工程项目使用拉取型消费者 KafkaConsumer的常用配置及注意事项
这里没有直接使用 spring封装的kafkaTemplate, 使用的是 原生的 Java API ,支持使用拉取型消费者 并使用 poll() 方法拉取消费消息.1. 消费者具体常用配置项pom.xml 文件内容:<?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-i原创 2020-12-24 22:03:05 · 1250 阅读 · 0 评论 -
复制 maven 项目运行后及报错常用解决办法
运行报错常用解决办法:1. 删除项目文件夹中的 .idea, .iml 文件, 然后重新用 IDEA 打开项目2. 重新 build 项目, 见下图:3. 双击 maven 中 lifecycle 中的 clean ,清理项目, 见下图:4. 如果还不行, 可以重启下电脑试一下, 有时候会有这种奇怪的问题, 本身设置都没错, 但就是报 无法加载主类的错误.5. 最后再不行, 建议重新创建一个 maven工程, 然后将要复制的文件内容手动复制到新项目中, 这样一般最终都可以, 就是略麻烦.参原创 2020-12-24 22:01:19 · 1196 阅读 · 0 评论 -
IDEA---使用IDEA打开项目的卡死问题(卡在Reading pom.xml)
解决方法:删除 .idea及 .mvn文件即可, 如果还是卡死, 那么可以先打开一个idea项目, 手动导入 该maven项目, 如下图:然后选中你的项目文件夹勾选maven项目:点击finish即可, 之后可以clean一下项目探究参考:解决 IDEA 2020.2 reading pom.xml 卡死问题与问题探究...原创 2020-12-18 09:28:11 · 3921 阅读 · 3 评论 -
springboot 使用 profiles区分多环境配置
1. 在Spring Boot中多环境配置文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识,比如: application-dev.properties:开发环境 application-test.properties:测试环境 application-prod.properties:生产环境至于哪个具体的配置文件会被加载,需要在application.properties文件中通过spring.profiles.a原创 2020-12-17 16:01:15 · 1895 阅读 · 0 评论 -
spring 设置均正常启动但报错找不到加载主类
解决方法: 使用 maven 工具 clean 一下项目即可原创 2020-12-17 15:58:31 · 128 阅读 · 0 评论 -
Spring中的多线程使用(使用线程池 ThreadPoolTaskExecutor, CompletableFuture)
SpringBoot应用中需要添加@EnableAsync注解,来开启异步调用,一般还会配置一个线程池,异步的方法交给特定的线程池完成,1. 配置线程池添加一个Configuration类, 代码如下:@Configuration@EnableAsyncpublic class ThreadConfig { @Bean("doSomethingExecutor") public Executor doSomethingExecutor() { ThreadPool原创 2020-12-17 14:58:36 · 3938 阅读 · 0 评论 -
Spring---springboot修改打包后的项目(jar war)名称
在build里面添加inalName,指定好想要的项目名称即可:example原创 2020-12-16 17:00:37 · 1441 阅读 · 0 评论 -
Spring---解决lombok引用失效问题
1. 安装lombok插件在IDEA中的设置找到Plugins(插件设置),搜索lombok如果未安装则点击安装,并在安装后开启为enable状态2. 开启Annotation Processors3、确定在 pom.xml 中引入了 lombok相关依赖项<dependencies> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok&l原创 2020-12-09 10:05:51 · 1167 阅读 · 0 评论 -
Spring---设置定时任务@Scheduled后在符合条件时使定时任务停止
1. 方式 1:通过Spring 的ScheduledAnnotationBeanPostProcessor 类终止定时任务代码示例: /*得到BeanPostProcessor,用于终止定时任务*/ @Autowired private ScheduledAnnotationBeanPostProcessor postProcessor; /** * 通过 ScheduledAnnotationBeanPostProcessor 终止所有定时任务 *原创 2020-12-09 10:00:06 · 5857 阅读 · 0 评论 -
SpringBoot 项目@Value 注解取不到值
@Value 注解可能有两种导包:import org.springframework.beans.factory.annotation.Value;或import com.google.api.client.util.Value;如果不小心用的下面那个,不会报错,但使用 @Value 注解时就会取不到值,正确的应该导入第一个的包...原创 2020-12-09 09:59:07 · 1707 阅读 · 0 评论 -
Spring---SpringBoot 项目打成jar包时使用命令行传递参数
spring boot 打成jar包后 通过命令行传入的参数 3中实现方式方式一:java -jar xxx.jar aaa bbb cccc传了3个参数,分别是aaa,bbb,ccc, 这种方式要通过main方法的参数获取方式二:java -jar xxx.jar -Da1=aaa -Db1=bbb -Dc1=ccc通过 System.getProperty(“aaa”,“1”); 方式获取。作为环境变量方式三(常用):java -jar xxx.jar --a1=aaa --b转载 2020-12-09 09:32:40 · 1423 阅读 · 0 评论 -
Spring---使用Maven打包项目为jar包时报错: Failed to execute goal org.apache.maven.plugins:maven-surefire-p
解决方法: 在 pom.xml 文件中添加跳过配置项pom.xml 文件更改如下: <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <!--添加配置跳过测转载 2020-12-08 09:48:40 · 393 阅读 · 0 评论 -
ElasticSearchRepository和ElasticSearchTemplate的使用
参考:https://blog.csdn.net/tianyaleixiaowu/article/details/76149547/转载 2020-12-08 09:45:07 · 754 阅读 · 0 评论 -
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class}) 注解的作用
禁止 SpringBoot 自动注入数据源配置(取消数据库配置),一般使用在客户端(消费者)服务中参考:https://blog.csdn.net/niceyoo/article/details/105549276转载 2020-12-07 11:10:12 · 3690 阅读 · 0 评论 -
Spring注解@JsonFormat与@DataFormAT
1. 注解@JsonFormat主要是后台到前台的时间格式的转换2. 注解@DataFormAT主要是前后到后台的时间格式的转换具体可参考: https://www.cnblogs.com/mracale/p/9828346.html转载 2020-12-07 11:09:47 · 559 阅读 · 0 评论 -
SpringBoot中active的profile会和标准配置合并吗
active的配置会合并默认配置后,一起生效。针对默认配置中已存在的项,活跃配置会覆盖之原创 2020-12-07 11:09:03 · 243 阅读 · 0 评论 -
Spring 项目工程报错:Project ‘org.springframework.boot:spring-boot-starter-parent:2.2.10.RELEASE‘ not found
参考:填坑之路!SpringBoot导包坑之spring-boot-starter-parent转载 2020-12-07 11:08:46 · 3576 阅读 · 0 评论 -
Spring测试类报错问题:org.junit.runners.model.InvalidTestClassError: Invalid test class
原因: 有时候IDEA开启了自动导包, 导致@Test注解导入包时 错误导入了 import org.junit.jupiter.api.Test解决办法: 删除上面的语句 同时导入正确的包: import org.junit.Test;原创 2020-12-07 10:19:28 · 4632 阅读 · 0 评论 -
SpringBoot项目中Kafka报错: Topic(s) [publish] is/are not present and missingTopicsFatal is true
报错原因: 消费监听接口监听的主题不存在时,默认会报错解决方法: 配置文件中将listener的属性missingTopicsFatal设置为false, 即在application.properties中添加:spring.kafka.listener.missing-topics-fatal=false参考:https://blog.csdn.net/qq_39182562/article/details/104245766...转载 2020-12-07 10:00:47 · 1790 阅读 · 0 评论 -
pom.xml文件中“spring-boot-maven-plugin” 报红,显示not found 找不到
报错的配置:<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId>//这行红色</plugin>解决办法:通过给spring-boot-maven-plugin指定版本后成功解决如增加一句:<version>2.2.6.RELEASE</version&原创 2020-12-07 09:59:43 · 13404 阅读 · 13 评论 -
Spring---Springboot 项目 开启多线程
参考:Springboot 项目 开启多线程转载 2020-12-06 17:03:15 · 1143 阅读 · 0 评论 -
Spring---SpringBoot 读取 properties 配置文件中的数据几种方式
参考:Spring Boot读取properties配置文件中的数据其中方法1 和方法3 常用转载 2020-12-06 16:55:04 · 507 阅读 · 0 评论 -
Spring---yml和properties的加载顺序和区别
yml和properties的加载顺序和区别正常的情况是先加载yml,接下来加载properties文件。如果相同的配置存在于两个文件中。最后会使用properties中的配置。最后读取的配置会覆盖之前的配置。参考:yml和properties的加载顺序和区别...原创 2020-12-06 16:51:37 · 732 阅读 · 0 评论 -
Java中不定项参数(可变参数)的作用和使用方式
使用示例:public static void method(int...arg){ for(int i=0; i<arg.length; i++) System.out.println(arg[i]);}public static void main(String[] args){ method(1, 2, 3, 4); int[] a={1, 2, 3, 4}; method(a); }转载 2021-01-17 18:16:38 · 446 阅读 · 0 评论 -
Java 判断字符串是否符合指定日期格式
见代码: /** * 验证字符串是否为指定日期格式 * * @param rawDateStr 待验证字符串 * @param pattern 日期字符串格式, 例如 "yyyy-MM-dd" * @return 有效性结果, true 为正确, false 为错误 */ public boolean dateStrIsValid(String rawDateStr, String pattern) { Sim原创 2021-01-15 21:28:11 · 8401 阅读 · 0 评论 -
Spring boot后台定时任务执行 cron表达式
每月最后一天执行的 cron 表达式为: 0 0 0 L * ? , 在spring 中相应方法中的注解写法为:@Scheduled(cron = "0 0 0 L * ? ")但如果使用的是 低版本的spring, 默认是不支持 L 的写法的, 这时可以使用如下写法曲线救国, 主要思路是每个月的 28-31号都执行一次任务, 在定时任务中检查是否是当月最后一天 @Scheduled(cron = "0 0 0 28-31 * ?") public void scheduled(){ log原创 2021-01-15 21:26:53 · 628 阅读 · 0 评论 -
工具类应该该用单例模式,还是用静态方法的方式
1. 单例模式工具类优点及应用场景:单例模式的类是普通的类,它具有面向对象的特性,方便扩展对于有配置的工具类,可以轻松的创建多个不同配置的单例对象(如有多个Redis数据源需要配置)这个工具类中的成员变量需要有且只有同一个的时候。比如DialogUtils、DateUtils……应用于一些方法中会改变传过来的对象的值。引用了外部对象。比如我传一个List对象给你,你可以get它里面的item,但是你却要往List对象里面set入一些值.2. 静态方法工具类有点及应用场景:静原创 2021-01-15 21:25:56 · 2069 阅读 · 0 评论 -
java.lang.UnsupportedOperationException解决方法
抛出异常问题的代码:public class ListTest { public static void main(String[] args) { String[] array = {"1","2","3","4","5"}; List<String> list = Arrays.asList(array); list.add("6"); list.remove(0); }}问题原因:由Arrays.as转载 2021-01-15 21:25:15 · 1227 阅读 · 0 评论 -
Java 获取当前日期前一天的日期(指定格式字符串)
//获取当前日期 Date date = new Date(); //将时间格式化成yyyy-MM-dd HH:mm:ss的格式 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建Calendar实例 Calendar cal = Calendar.getInstance(); //设置当前时间 ...原创 2021-01-15 21:07:02 · 48466 阅读 · 1 评论 -
Java 将多个List<Map<String, Object>>导出为多个sheet的excel
单个List<Map<String, Object>>导出为单个sheet的excel可以参考: Java 将List<Map<String, Object>>导出为excel (poi导出Excel使用)这里补充下多个的代码工具类 ExcelUtilsimport org.apache.poi.ss.usermodel.HorizontalAlignment;import org.apache.poi.ss.util.CellRangeAddress;import org.apache.poi.x原创 2021-01-12 17:08:12 · 871 阅读 · 1 评论