- 博客(71)
- 收藏
- 关注

原创 Springboot启动流程核心知识点(一):Spring自动装配原理
依托Springboot启动流程,结合源码,完整了解Springboot自动装配原理。
2022-09-10 17:10:43
608
3

原创 Springboot启动流程分析(三):刷新IOC容器之执行beanFactory后置处理器原理
不惮其烦,逐行解析,全景再现Springboot启动流程。
2022-09-09 11:30:02
853
原创 SAP Commerce(Hybris)PCM模块(一):商品批量导入导出
PCM(Product Content Management)是一个基于Backoffice,利于管理员直接页面操作的Hybris商品管理模块。
2025-03-20 15:00:09
729
1
原创 SAP Commerce(Hybris)营销模块(一):商城产品折扣配置
基于Hybris的Backoffice后台管理系统,创建一个基于模板的促销规则,并配置上对应的优惠活动。
2025-03-14 18:38:58
890
原创 SAP Commerce(Hybris)项目启动流程
Hybris作为SAP旗下的电商模块,主要分为B2B和B2C两块。一直以来,由于种种原因,对hybris项目资料甚少,且不完整,遂整理一版,方便查阅。本文以windows电脑启动为例。
2025-03-12 17:29:38
785
原创 SAP Fiori 实战课程(二):新建页面
上一课中,利用Visual studio Code 新建、并运行了一个Demo工程。可以实现对项目的启动,启动后进入一个List清单。那么本次课程的目前就是在上一节Demo的基础上,从零开始新建一个完整的页面
2024-07-21 17:21:11
1335
2
原创 Spring Boot项目的404是如何发生的
在日常开发中,假如我们访问一个Sping容器中并不存在的路径,通常会返回404的报错,具体原因是什么呢?
2024-07-16 16:24:54
1491
1
原创 Java客户端调用SOAP方式的WebService服务实现方式分析
Java实现SOAP方式的WebService客户端调用方法及实例介绍
2024-07-09 20:05:23
5104
2
原创 Java实现图片的垂直方向拼接
实现任意两张图片的垂直方向拼接,对于过小图片实现了放大,保证了图片拼接后的清晰度。对于高度大于宽度的图片,进行了-90度旋转。
2024-07-04 16:34:20
485
1
原创 Nacos报错:Server check fail, please check server 127.0.0.1 ,port 9848 is available , error ={}
Spring Cloud Alibaba的项目启动,Nacos报错:java.util.concurrent.ExecutionException: com.alibaba.nacos.shaded.io.grpc.StatusRuntimeException: UNAVAILABLE: io exception。
2024-07-02 15:01:35
6903
8
原创 okta/sf平台实现saml2.0单点登录集成实战(详细步骤+完整代码)
步骤详细的完全实战文章,基于Springboot+SpringSecurity+Saml2.0实现单点登录
2023-06-06 17:28:13
4878
10
原创 mysql是如何插入一条数据的
在很多资料中,都会说mysql的innodb是基于B+树的聚簇索引。这里对B+树不做深入讲解,可以理解为对简单的平衡二叉树进行了改进,通常的平衡二叉树是一个父节点挂左右两个字节的,B+树的子节点,有两个,也可能有三个,所以也简称二、三树。众所周知,把数据构造成一颗二叉树,最主要的作用就是可以通过二分查找的方式,快速找到指定数据。那么聚簇索引主要也是利用了这个原理,且由于它子节点比较多,会减少这颗二叉树的深度,从而加快查询速度。那么到底什么是聚簇索引呢?
2023-01-19 08:30:49
4111
原创 三方系统集成SF(SuccessFactors),实现单点登录要点
在笔者先前的文章中,详细介绍了如何把一个自开发的三方系统,集成到okta或者IAS平台。经过笔者的实际工作经验,发现SF自己本身其实也可以作为一个单点登录平台来使用。
2022-12-21 19:10:45
2059
原创 Java以Graph方式发送Outlook、Exchange邮件(2022新版)——修订版,可运行
Graph发送exchange邮件,2022新版
2022-12-07 18:38:15
3387
7
原创 SAML message intended destination endpoint did not match recipient endpoint,问题解决及原理
彻底解决报错:SAML message intended destination endpoint 'XXX' did not match the recipient endpoint 'XXX'
2022-12-04 17:16:11
1129
原创 org.opensaml.common.SAMLException: Response issue time is either too old or with date in the future
okta 单点登录报错解决
2022-09-02 20:18:31
563
原创 SpringMVC框架原理剖析(一):如何自定义一个@ResponseBody
在我们平常使用的@RestController注解中,就已经包含了对返回结果的处理:其关键点便在于@ResponseBody这个注解,在我们的普通MVC框架,在获取结果以后是要同时返回ModelAndView的。如果标注了@ResponseBody注解,则会触发默认的后置处理器,对返回结果进行处理,其核心方法如下:其核心方法便是实现接口HandlerMethodReturnValueHandler中的两个方法:通过supportsReturnType确认进入此类,然后执行handleReturnValue
2022-07-12 10:29:22
790
原创 前k个高频元素
输入:arr={2, 2, 2, 2, 3, 3, 3, 1},k = 2;输出:[3,2];利用PrioriQueue的特性和Map的数据结构,返回前k个高频元素。
2022-06-29 21:55:07
118
原创 反转字符串,并去除前后多余空格
" hello world I am judy! " 反转为: "judy! am I world hello"步骤1:去除前后空格,中间多余空格去除步骤2:反转所有字符串步骤2:按单词反转public class StringTest { public static void main(String[] args) { char[] strArray = {' ',' ','h', 'e', 'l', 'l', 'o', ' ', ' ', 'w', 'o',
2022-05-23 14:29:12
586
原创 单链表删除倒数第n个链表节点
前置准备:public class NodeTest { static class MyNode { int val; MyNode preNode; MyNode nextNode; public MyNode(int val, MyNode preNode, MyNode nextNode) { this.val = val; this.preNode = preNode;
2022-05-13 20:47:26
411
原创 反转单向链表
前置:static class MyNode { int val; MyNode preNode; MyNode nextNode; public MyNode(int val, MyNode preNode, MyNode nextNode) { this.val = val; this.preNode = preNode; this.nextNode = nex
2022-05-13 20:44:45
158
原创 设计模式之监听器模式
监听器模式,主要由3个角色组成:事件(EventObject),监听器(EventListener),事件发布者(EventPublish)。其核心流程便是,由事件发布者发布事件,在事件发布前后分别放置监听器。其代码示例如下:1.事件public class MethodExecutionEvent extends EventObject { private static final long serialVersionUID = -71960369269303337L;
2022-04-16 10:13:13
2231
3
原创 Qaurtz报错:org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named‘xx‘available
目录NoSuchBeanDefinitionException报错解决NoSuchBeanDefinitionException报错原因分析1.容器未实例化指定类2.Qaurtz前台页面,bean名称配置错误3.Qaurtz框架在非集群环境下,使用同一个数据库,部署了多个版本的代码(重点)结语NoSuchBeanDefinitionException报错解决关于Qaurtz定时框架的运行原理,在文章《Qaurtz定时框架,是怎么运行的(源码讲解)》中有详细讲解,自以为
2022-03-26 18:10:04
3468
1
原创 手写一个简易数据库连接池
数据库连接池,一般用于后台应用与后台数据库的交互,其目的主要是控制服务器资源消耗,常用的有Druid、C3P0、Hikari。为了对数据库连接池有一个更深入的了解,我们手写一个简易连接池。其具体步骤如下:核心参数:空闲线程数 freeConnectPool活动线程数 activeConnectPool原理:1.根据配置文件参数,初始化连接池,设置初始线程数2.通过getConnection(),获取连接,如果空闲线程大于0,则直接从空闲线程取连接,此时freeConnectPool计
2022-03-18 11:18:49
2497
5
原创 Java简单实现HashMap
构造map接口:package com.extHashMap;import sun.awt.SunHints;public interface ExtMap<K,V> { V put(K k,V v); V get(K k ); interface Entry<K,V>{ K getKey(); V getValue(); V setValue(V v); }}构造HashMa
2022-03-15 14:38:37
2037
原创 Java简单实现List集合
根据list集合的原理,简单的实现一版原理,有助于更好的了解jdk源码。1.构造list接口:package com.arraylist;public interface ExtList<T> { boolean add(T t); T get(int i );}2.实现ArrayList:package com.arraylist;import org.springframework.context.ConfigurableApplicat
2022-03-11 16:28:52
637
原创 双向链表删除指定节点,JAVA实现
构造双向链表,删除指定节点:public class NodeTest { static class MyNode { int val; MyNode preNode; MyNode nextNode; public MyNode(int val, MyNode preNode, MyNode nextNode) { this.val = val; this.preNode =
2022-02-24 15:37:58
1882
原创 Qaurtz定时框架,是怎么运行的(源码讲解)
我们从一个小的业务场景开始。当一个springboot项目集成好Quartz框架之后,其前端界面如下:此时我们点击最右边的立即执行按钮,后台是如何执行的呢?和我们平常的同步执行方法不同,这个方法其实是异步执行的。其核心原理就是,先把需要执行的任务信息持久化到数据库,再通过Quartz自带的后台线程查询数据库,获取需要执行的定时任务。下面我们从源码开始分析:...
2022-02-23 11:42:51
1352
原创 jpa设置ddl-auto不生效
在一般的配置中,jpa自动生成表的配置为:spring.jpa.hibernate.ddl-auto = update笔者采用的是springboot的2.3.2.RELEASE版本,按照上面配置之后,总是不能生成表格。所以进入源代码,看了下具体情况:找到类DataSourceInitializedPublisher,可以发现其利用的Spring生命周期中的后置处理器:BeanPostProcessor,在entityManagerFactory实例化之后,判断是否初始化数据库,具.
2022-01-20 12:08:12
3295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人