Java
文章平均质量分 76
冉木
这个作者很懒,什么都没留下…
展开
-
Spring Bean的生命周期
Spring 启动,查找并加载需要被 Spring 管理的 Bean,进行 Bean 的实例化;Bean 实例化后,对 Bean 的引入和值注入到 Bean 的属性中;如果 Bean 实现了 BeanNameAware 接口的话,Spring 将 Bean 的 Id 传递给 setBeanName() 方法;如果 Bean 实现了 BeanFactoryAware 接口的话,Spring 将调用 setBeanFactory() 方法,将 BeanFactory 容器实例传入;...转载 2021-12-25 15:49:19 · 238 阅读 · 0 评论 -
Java Scanner类的方法及用法(很详细)
一、Scanner类简介Java 5添加了java.util.Scanner类,这是一个用于扫描输入文本的新的实用程序。它是以前的StringTokenizer和Matcher类之间的某种结合。由于任何数据都必须通过同一模式的捕获组检索或通过使用一个索引来检索文本的各个部分。于是可以结合使用正则表达式和从输入流中检索特定类型数据项的方法。这样,除了能使用正则表达式之外,Scanner类还可以任意地对字符串和基本类型(如int和double)的数据进行分析。借助于Scanner,可以针对任何要处理的文本内容转载 2021-11-10 10:29:56 · 6012 阅读 · 0 评论 -
SpringBoot读取配置文件方式
文章目录前言一、properties和yaml/yml的区别二、配置文件存放位置官网文档前言日常开发中,我们创建SpringBoot项目时,会直接在已有的resource目录下的application.properties中配置信息或者新建一个application.yml中配置信息,让项目读取使用。那除了这种方式,还有其他方式吗?有的,我们一探究竟!一、properties和yaml/yml的区别优先级不同properties优先级是高于yml的,但读取顺序是先yml后properties原创 2021-10-27 22:36:34 · 322 阅读 · 0 评论 -
Java/SpringBoot实现https请求
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、https和http1.1 HTTP和HTTPS的基本概念1.2 HTTP与HTTPS有什么区别?1.3 HTTPS的工作原理1.4 HTTPS的优点和缺点二、SpringBoot实现Https请求2.1 证书的获取2.2 将证书文件拷贝到SpringBoot工程根目录下2.3 在SpringBoot工程的application.yml文件中添加ssl配置三、Java项目实现Https请求3.1 创建证书管理器类3.2 工具原创 2021-10-08 21:52:54 · 18897 阅读 · 1 评论 -
事务异常:UnexpectedRollbackException
项目场景:用户信息和权限控制问题描述:问题代码示意:ClassA{ @Transactional methodA(){ try{ ClassB.methodB();} catch{} }}ClassB{ @Transactional methodB(){ do something; }}报错提示:org -springframenork transaction.UnexpectedRolbackException:Transaction rolled原创 2021-10-08 15:50:05 · 351 阅读 · 0 评论 -
logback(一)——日志等级
文章目录前言一、日志六个级别1、TRACE2、DEBUG3.INFO4、WARNING5、ERROR6、FATAL二、日志输出考虑的因素:1、输出频率2、严重程度三、日志信息的内容:1、异常、错误信息2、调试、跟踪信息总结:前言在不同的版本中日志的分级也有区别,下面以日志记录器Logger的分类来进行讨论六个日志等级:TRACE 、 DEBUG 、 INFO 、 WARNING 、ERROR 、FATAL;还有两个特殊等级 ALL、OFF,全部日志打开和关闭,这里不做讨论。一、日志六个级别1、TRA原创 2021-09-29 10:35:10 · 12811 阅读 · 0 评论 -
logback(二)——Springboot项目日志生成使用情形
系列文章logback(一)——日志等级logback(二)——Springboot项目日志生成使用情形文章目录系列文章前言使用步骤方式1、使用xml配置日志保存方式2、进阶配置——日志信息分类:前言日常开发调试中,我们都会在开发工具的打印台看信息,看报错。那项目上线,只能弄着摄像头盯着了(狗头)。因此就有了日志文件——专门记录项目运行中产生的各种信息文件。有了日志文件,就能很方便对上线的项目进行分析了。使用步骤方式1、使用xml配置日志保存不需要pom配置slf4j依赖,starter里面原创 2021-09-29 10:34:18 · 344 阅读 · 0 评论 -
消息队列MQ(二)——Spring Boot整合RabbitMQ
系列文章目录消息队列MQ(一)——RabbitMQ的介绍、安装以及管理页面的使用消息队列MQ(二)——Spring Boot整合RabbitMQ文章目录系列文章目录前言一、简介二、搭建工程1.创建P系统(生产者)1.1 yml配置RabbitMQ属性2.创建C系统(消费者)2.1 yml配置RabbitMQ属性三、实操RabbitMQ五种工作模式3.1 HelloWorld简单模式3.1.1 RabbitMQ管理界面操作3.1.2 代码编写3.2 Work queues工作队列模式3.2.1 Rab原创 2021-09-28 16:27:32 · 757 阅读 · 4 评论 -
多线程实现(三)——JUC异步并发
系列文章目录多线程实现(一)——概念和三种实现多线程实操多线程实现(二)——线程池实现多线程多线程实现文章目录系列文章目录前言一、什么是异步?二、Future三、异步编排3.1 CompletableFutrue3.1.2 串行执行3.1.3 聚合-AND 聚合3.1.4 聚合-OR 聚合3.1.5 异常处理四、异步开启五、 案例演练前言并发强调的是N人干同样的事,保证不争抢 。像拔河,要劲往一处使,不能抢着乱用劲。(lock,atomic,synchronize,volatile, cas)原创 2021-09-27 16:10:27 · 449 阅读 · 0 评论 -
多线程实现(二)——线程池实现多线程
系列文章目录文章目录系列文章目录前言一、线程池的优势有哪些?二、线程池实现多线程实践2.1、第一种: 创建线程池对象;创建单个线程的线程池对象2.2、第二种: 创建固定数量的线程池(指定核心线程数数量)2.3、第三种:创建一个按照计划执行的线程池2.4、第四种:创建一个自动增长的线程池总结前言上一篇文章讲了线程的三种实现 方式,但在实际项目开发中,基本用不到找这些方法,而通常用线程池来实现,为什么这样子呢?是因为我们继承Thread、实现Runable、实现FutureTask这三种线程方法无法原创 2021-09-26 22:39:31 · 2191 阅读 · 0 评论 -
多线程实现(一)——概念和三种实现多线程实操
多线程实现文章目录前言一、进程?线程?二、使用步骤1.引入库2.读入数据总结前言提示:随着业务场景的并发量逐渐增多,异步编排技术广泛的使用,不得不提多线程,本文就简单介绍多线程的实现方式。提示:以下是本篇文章正文内容,下面案例可供参考一、进程?线程?1.进程本质上是一个程序,是计算机分配资源的基本单位,一个进程至少拥有一个线程。进程与进程之间是隔离的,具有私密性;2.线程是进程中的一个任务。是cpu分配资源的基本单位。线程之间共享进程资源互相通信拓展:多核心cpu如何被系统分配给线程?二原创 2021-09-26 16:21:18 · 302 阅读 · 0 评论 -
RestTemplate 用法详解
一、前言RestTemplate 是由 Spring 提供的一个 HTTP 请求工具。在传统的项目架构中,因为不涉及到服务之间的调用,大家对 RestTemplate 的使用可能比较少,因此,本文我们就先来带领大家来学习下 RestTemplate 的各种不同用法,只有掌握了这些用法,才能在微服务调用中随心所欲地发送请求。RestTemplate 简介RestTemplate 是从 Spring3.0 开始支持的一个 HTTP 请求工具,它提供了常见的REST请求方案的模版,例如 GET 请求、POS转载 2021-08-30 13:30:39 · 3048 阅读 · 0 评论 -
Maven打包:Error injecting:xxxxxxx / java.lang.NoClassDefFoundError: xxxxxx
项目场景:maven新增依赖后,clean后重新package问题描述:package是,到最后生成jar阶段,build failed。错误提示:Error injecting: org.springframework.boot.maven.RepackageMojo at org.apache.maven.plugin.war.WarMojo.<init>(Unknown Source) while locating org.apache.maven.plugin.w原创 2021-08-21 15:21:59 · 1227 阅读 · 0 评论 -
List数据等分/分组
将一组数据平均分成n组/** * 将一组数据平均分成n组 * * @param source 要分组的数据源 * @param n 平均分成n组 * @param <T> * @return */public static <T> List<List<T>> averageAssign(List<T> source, int n) { List<List<T>> result = ne.原创 2021-07-15 08:54:16 · 1696 阅读 · 0 评论 -
mybatis批量更新数据两种方法效率对比
批量更新数据两种写法的效率问题。实现方式有两种,一种用for循环通过循环传过来的参数集合,循环出N条sql,另一种 用mysql的case when 条件判断变相的进行批量更新 下面进行实现。注意第一种方法要想成功,需要在db链接url后面带一个参数 &allowMultiQueries=true即:jdbc:mysql://localhost:3306/mysqlTest?characterEncoding=utf-8&allowMultiQueries...原创 2021-07-14 22:43:11 · 1343 阅读 · 1 评论 -
giao 一 giao Java的23 种设计模式
文章目录01 工厂方法02 建造者模式03 抽象工厂04 原型模式05 单态模式06 适配器模式07 桥梁模式08 合成模式09 装饰模式10 门面模式11 享元模式12 代理模式13 责任链模式14 命令模式15 解释器模式16 迭代模式17 调停者模式18 备忘录模式19 观察者模式20 状态模式21 策略模式22 模板方法模式23 访问者模式01 工厂方法追 MM 少不了请吃饭了,麦当劳的鸡翅和肯德基的鸡翅都是 MM 爱吃的东西,虽然口味有所不同,但不管你带 MM 去麦当劳或肯德基,只管向服务员转载 2021-05-28 10:30:26 · 97 阅读 · 0 评论 -
Jar冲突解决思路
一、 问题Description:An attempt was made to call the method org.apache.ibatis.session.Configuration.getLanguageDriver(Ljava/lang/Class;)Lorg/apache/ibatis/scripting/LanguageDriver; but it does not exist. Its class, org.apache.ibatis.session.Configuration, i原创 2021-04-07 15:28:00 · 2999 阅读 · 2 评论 -
服务报Reconnecting due to failure to connect to {QA sa=/127.0.0.1:11211, #Rops=0, #Wops=0, #iq=0,
问题解决安装memcahed。原创 2021-03-29 15:09:06 · 592 阅读 · 0 评论 -
SecureCRT8.3下载、安装、注册、使用与设置
一、下载点此下载相关软件二、安装SecureCRT1.双击安装2.这里选择custom以选择安装目录(选择Complete则默认安装C盘)3.一直next至此finish结束三、注册机的使用1.下载的Crack文件夹里右击以管理员身份打卡软件2.选择Path3.在新窗口中选择SecureCRT.exe,点击打开4.提示成功5.继续选择LicenseHelper.exe,点击打开,同样提示补丁成功完成点击确定即可6.上述完成后打开SecureCRT8.3,选择一个存储配原创 2021-03-29 14:56:12 · 20934 阅读 · 6 评论 -
JDK安装无jre目录
JDK14安装无jre原因:从jdk11起,安装就不在自动jre目录了。因为默认使用JDK自带 的JRE即可,不需要JRE了。解决:命令行中 cd 跳转到jdk安装目录我的是D:\Programme…执行下面命令bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre...原创 2020-06-23 23:31:35 · 247 阅读 · 0 评论 -
JDK13:5大新特性
JDK13:5大新特性:350: Dynamic CDS Archives351: ZGC: Uncommit Unused Memory353: Reimplement the Legacy Socket API354: Switch Expressions (Preview)355: Text Blocks (Preview)350: Dynamic CDS Archive...原创 2019-09-17 10:55:36 · 228 阅读 · 0 评论