JAVA
langzitianya
hao
展开
-
Spring Security对接OIDC(OAuth2)外部认证
前后端分离项目对接OIDC(OAuth2)外部认证,认证服务器可以使用Keycloak。后端已有用户管理和权限管理,需要外部认证服务器的用户名和业务系统的用户名一致才可以登录。后台基于Spring Boot 2.7 + Spring Security。原创 2024-02-19 17:52:53 · 595 阅读 · 0 评论 -
assertj中assertThat方法比较对象里包含double类型
为数组/对象中的double类型值的比较设置允许误差范围1.0e-6(0.000001)原创 2023-12-29 16:06:53 · 407 阅读 · 0 评论 -
Mockito打桩构造函数和静态方法
单体测试中,需要模拟测试对象方法内调用的另一个类的静态方法。单体测试中,需要模拟测试对象方法内创建的新对象的动作。原创 2023-12-29 16:01:32 · 1037 阅读 · 0 评论 -
SpringBoot2 升级到 SpringBoot3遇到的问题
根据错误提示查看源码说明,进行响应的修改。原创 2023-08-05 16:12:04 · 1107 阅读 · 0 评论 -
SpringBoot项目测试
可以使用MockHttpServletRequest模拟请求。功能测试中使用WebTestClient。单体测试中的Controller测试。单体测试中Validator的测试。原创 2023-05-08 11:31:14 · 90 阅读 · 0 评论 -
MongoDB学习
use mydb 切换到数据库,如果不存在就会创建,并没有真正生成对应的数据文件,如果此时退出,此数据库将被删除,只有在此数据库中创建集合后,才会真正生成数据文件。db.example.insertMany( [{},...,{}] ) 向集合example插入多条数据,如果集合不存在,自动创建集合。db.example.find(conditions) 查询数据,并格式化显示。数组需要完全匹配,少值或者顺序不一致都不匹配。原创 2023-04-26 20:05:24 · 519 阅读 · 0 评论 -
Mockito5.2.0学习
/ 在验证失败时,会打印自定义的消息// 任何验证模式下都能使用这种方式Answer接口只有一个方法,Java 8 使用lambda表达式来实现它非常简单。// answer每次都返回12// 用参数里的一个值作为返回值 - 转换成你想要的正确类型可以定义answer/actions,用被调用方法的参数作为answer/actions中lambda的入参。它们依赖的相关answer接口在org.mockito.stubbing包下,Answer接口最多支持5个参数。原创 2023-04-15 21:29:21 · 1935 阅读 · 0 评论 -
JUnit5学习
ParameterizedTest注解的name属性来定制调用显示名称{displayName} 表示当前方法的显示名{index} 表示当前条数,从1开始{arguments} 表示全部参数值,使用逗号分隔{argumentsWithNames} 表示包含参数名的全部参数值,使用逗号分隔{0}, {1}, … 表示具体的第几个参数值。原创 2023-04-08 14:30:02 · 1204 阅读 · 0 评论 -
maven项目编译的坑
自己掉坑里两回了,记下来。原创 2022-10-08 16:35:54 · 140 阅读 · 0 评论 -
Hibernate的坑
遇到Hibernate的坑,总会浪费不少时间,记一下。1.同一个事务中,先更新(增/删/改)表,再从之前更新的表查询,默认返回的是更新之前的内容。2.执行HQL和SQL时返回的数据类型是不一样的,现在遇到的有: select count(id) from table1; --HQL时返回的Long,SQL时返回的不是Long,保险起见可以按Number接收,再number.longValue(); select idfrom table1; ...原创 2021-06-09 15:23:42 · 167 阅读 · 0 评论 -
Runtime.exec的坑
使用Apache Commons Execexecutor.execute(cmdLine)exec(String[] cmdarray, String[] envp)原创 2021-05-28 22:13:08 · 438 阅读 · 0 评论 -
eclipse启动springboot 项目的多个实例
1.使用Run Configurations2.在Environment选项卡添加环境变量 server.port设定本次需要启动的端口,点击run。再次重复1和2,设定不同的端口,再点击run启动另外的实例。原创 2020-11-26 11:39:20 · 1390 阅读 · 0 评论 -
Springboot+Quartz集群配置
看了一些网上的文章,都不太合我意,集众家之长,来个自己的版本。原理和介绍就不搬来搬去了,直接上代码吧。目录一.POM文件二.application-quartz.properties三.java文件 3.1Application 3.2QuartzSchedulerConfig配置一下,类名自己随便改 3.3 StartApplicationListener应用启动时调用一下QuartzTasks添加定时任务 3.4QuartzTasks...原创 2020-11-26 11:31:28 · 4151 阅读 · 0 评论 -
Neo4j学习笔记(四.3) Spring Data Neo4j中连接Neo4j因果集群
一.配置文件 Neo4j 4.0之前,instance0~instance2都是因果集群里的核心服务器URI=bolt+routing://instance0:7687URIS=bolt+routing://instance1:7687,bolt+routing://instance2:7687 Neo4j 4.0之后,instance0~instance2都是因果集群里的核心服务器URI=neo4j://instance0:7687URIS=neo4j://instan...原创 2020-10-27 16:18:22 · 690 阅读 · 0 评论 -
Neo4j学习笔记(二) SpringMVC中使用Spring Data Neo4j
一.pom.xml中添加spring-data-neo4j依赖 •实验中使用独立的Neo4j服务器,采用bolt协议访问。如果是使用嵌入式neo4j或者使用http协议,需要添加其他依赖。 •5.3.4.RELEASE版本的spring-data-neo4j需要至少 Neo4j 3.4以上 Spring Framework 5.2.9.RELEASE以上 <!-- Neo4j --> <dependenc...原创 2020-10-20 17:55:58 · 1755 阅读 · 2 评论 -
Neo4j学习笔记(三) Spring Data Neo4j中可以按方法名自动生成查询逻辑的查询方法
占个空,明天写原创 2020-10-20 18:11:49 · 1240 阅读 · 0 评论 -
JAVA编码规范规避的小坑
1.所有整型包装类对象之间值的比较,全部使用 equals 方法比较。 说明:对于 Integer var = ? 在-128 至 127 之间的赋值,Integer 对象是在 IntegerCache.cache 产生, 会复用已有对象,这个区间内的 Integer 值可以直接使用==进行判断,但是这个区间之外的所有数据,都 会在堆上产生,并不会复用已有对象,这是一个大坑,推荐使用 equals 方法进行判断。2.浮点数之间的等值判断,基本数据类型不能用==来比较,包装数据类型不能用 ...原创 2020-06-03 17:50:23 · 209 阅读 · 0 评论 -
调用钉钉服务端API发送工作通知消息
需求:在业务系统中产生的通知消息,通过调用钉钉服务端API,发送到对应员工的钉钉客户端。步骤:目录1.创建并配置消息发送应用1.1登录开发者后台1.2创建H5微应用1.3配置H5微应用2.调用服务端API发送消息2.1获取access_token2.2根据手机号获取userid2.3发送工作通知消息2.4查询工作通知消息的发送进度2.5查询工作通知消...原创 2020-02-06 19:22:07 · 20412 阅读 · 3 评论 -
邮件上网系统构建(二)服务器搭建
邮件上网系统构建(二)服务器搭建2008/07/191。就是它-james 本来天真的想自己找找API做个简单的服务器的,又一想,还是原始人的思考方式,什么东东都从头做起,不好不好。于是乎,找到了james,james是apache的一个开源项目。James 是一个企业级的邮件服务器,它完全实现了smtp 和 pops 以及nntp 协议。同时,james服务器又是一个邮件应用程序平台原创 2008-07-19 17:13:00 · 1927 阅读 · 0 评论 -
邮件上网系统构建(一)需求分析和基本方案
邮件上网系统构建(一)需求分析和基本方案2008/07/18 好久好久没有写点自己的代码了,久的都快被土埋上了。昨天一个突发奇想,感觉实现一下还是比较好玩滴,于是动手做做。 现状是这样滴,俺们项目组的电脑是与外网隔绝滴,不能上网,原始社会啊。只有几个人有收发外网邮件的权利,是通过isa代理,接受公司外部邮箱的邮件,其他的,别想干。人们总是对禁止的事情感兴趣啊,所以俺原创 2008-07-19 17:03:00 · 1043 阅读 · 0 评论 -
Eclipse Spring Boot搭建中的问题
1. The type javax.servlet.ServletContext cannot be resolved 原因默认生成的pom.xml org.springframework.boot spring-boot-starter-tomcat provided 下面这个属性,表示使用本机已经存在的东西,不会下载对应的东西。provi原创 2018-01-22 14:52:16 · 527 阅读 · 0 评论 -
Spring Boot使用AOP在指定方法执行完后执行异步处理
1.在pom.xml中加入如下依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId></dependency>2.在Spring Boot的applica...原创 2018-04-19 13:32:54 · 10318 阅读 · 4 评论 -
Docker部署微服务
1.安装Dockersudo yum install -y docker2.启动Docker Amazon Linux AMI的时候,sudo service docker start --启动sudo chkconfig --list | grep docker --查看docker有没有开机自启动 --docker 0:off 1:off 2:on ...原创 2019-03-11 15:55:39 · 163 阅读 · 0 评论 -
springCloud微服务初探
1.父项目POM文件<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org...原创 2019-03-11 16:58:26 · 116 阅读 · 0 评论 -
appache反向代理设定
http://本机IP/api 转发到http://127.0.0.1:8080/apihttp://本机IP/zuul/api 转发到http://127.0.0.1:8080/zuul/apihttp://本机IP/ 转发到http://127.0.0.1:8081/httpd-proxy.confProxyRequests Off...原创 2019-03-11 17:07:35 · 261 阅读 · 0 评论 -
JDK1.6API学习笔记(0001)---开篇
准备开始了,你准备好了吗!野马之路! 本来想一切都做成最新的呢,后来一想,没什么意义,用现在机器上装的1.6.0版本算了。 再一想,不对,开始的时候就妥协,怕这个系列不会超过个位数的文章了,还是努力一下吧。可怜我这老黄牛的网速啊。 系统:Windows XP SP2 番茄花园版 CPU:古老滴AMD1700+,新来的不要笑哦! 内存:一原创 2008-04-20 23:52:00 · 992 阅读 · 1 评论