自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(92)
  • 资源 (2)
  • 收藏
  • 关注

原创 windows git命令行 中文乱码问题

windows git 中文乱码

2023-12-25 16:29:06 647

原创 Java http请求工具连接超时时间

连接超时读超时测试了三种java常用的http请求工具框架hutool、okhttp3、spring RestTemplate运行环境 jdk8 windows。

2023-11-08 16:41:42 1014

原创 DDD领域驱动设计-分层架构实践

DDD领域驱动设计-分层架构实践

2023-02-04 18:21:51 1641 1

原创 VirtualBox 宿主机ping不通虚拟机解决方案

VirtualBox 宿主机ping不通虚拟机解决方案

2022-06-27 22:55:39 6212 1

原创 SpringBoot启动时执行一些初始化代码的几种方式

原文链接:https://blog.csdn.net/u012272367/article/details/121557644前言在我们用springboot搭建项目的时候,经常碰到在项目启动时初始化一些字典数据、地市数据、等各类需求,针对这种需求Spring与Spring boot为我们提供了以下几种方案供我们选择......

2022-06-26 16:27:31 1242

原创 spring aop 使用简介

spring boot aop

2022-06-13 01:13:51 128

原创 多系统单点登录

单点登录说明单点登录的英文名叫做:Single Sign On(简称SSO)。一般应用于多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源。如登录访问 www.abc.com 后,对于www.efg.com 也是登录访问。比如阿里系的淘宝和天猫,很明显地我们可以知道这是两个系统,但是你在使用的时候,登录了天猫,淘宝也会自动登录。以下实现基于cookie等认证,对于cookie的原理不做详细说明,可以单独了解。主域名相同:如果公司内的所有业务都共享到 xxx.com 一个主

2022-05-15 17:09:38 2599

原创 mysql 系统库 information_schema

------------------------------------------我是分割线-------------------------------------------------- MySQL授权系统通常是通过MySQL数据库中的五个表来实现的,这些表有user、db、host、tables_priv和columns_priv。 user表——该表决定是否允许用户连接到服务器。如果允许连接,权限字段则为该用户的全局权限。 db表——用于决定哪些用户可以从哪些主机访问哪些数据库。包含

2022-01-06 11:09:14 241

原创 单例模式的几种实现方式

单例模式的几种实现方式单例模式的实现有多种方式,如下所示:1、懒汉式,线程不安全是否 Lazy 初始化:是是否多线程安全:否实现难度:易描述:这种方式是最基本的实现方式,这种实现最大的问题就是不支持多线程。因为没有加锁 synchronized,所以严格意义上它并不算单例模式。这种方式 lazy loading 很明显,不要求线程安全,在多线程不能正常工作。代码实例:public class Singleton {private static Singleton instance;pr

2021-11-30 09:06:03 124

原创 springboot 集成logback

springbootlogback参考文档:https://blog.csdn.net/flysun3344/article/details/80555746一、application.properties1、logging.level默认info如果设置全部使用logging.level.root=*不能作为通配符2、logging.file 和 logging.path,如果配置了logging.file,logging.path就无效了;logging.path只是配置日志文件的路径

2021-11-14 13:30:18 1563

原创 logback 设置日志级别过滤器 <filter>

logback如果需要灵活的配置日志级别,需要结合过滤器,这个标签。需要注意的是,过滤器过滤的基础是在root标签的配置基础上进行的。过滤器可以写在appender标签内,可以写一个或多个,顺序执行。过滤器会对每个级别的日志设置枚举值,表示对日志的处理方式。  DENY:日志将立即被抛弃不再经过其他过滤器;  NEUTRAL:有序列表里的下个过滤器过接着处理日志;(该级别既不处理,也不抛弃,相当于没有任何处理,日志会被保存下来并在本appender被执行)  ACCEPT:日志会被立即处理,不再经过

2021-11-14 13:14:26 5104

原创 springboot+resteasy过滤器 (登录态认证demo)

resteasy 3.x以前的版本是只有拦截器,3.x版本以后以前的拦截器被标记为过时了,新版适用过滤器代替jboss官方说明地址(版本4.7.0.Final):https://docs.jboss.org/resteasy/docs/4.7.0.Final/userguide/html/Interceptors.html官方新版说明不太详细,这里整理一下实测结果。采用springboot + resteasy ,集成参考:https://github.com/paypal/resteasy-spri

2021-09-14 17:24:01 745

原创 idea中引用类报找不到,但明明存在这个类

大家是不是出现过:我编译器中明明有这个类但是为啥总是引不到,怎么更新类路径,maven项目等,都没有用。其实是idea的索引出现了问题 是因为idea每次启动的时候都会初始化 创建索引 如果之前您对某个类进行了编译 那么该类的索引地址就会发生改变 ,那idea中原来对此类的索引值就发生了改变就会出现引不到的情况点击之后idea就会重启----重新创建索引,就解决。困扰了我很久,原来这么简单就解决了。...

2021-09-13 18:53:32 9171 3

原创 dicom直接读取图像数据

先上代码引用依赖 <dependency> <groupId>org.dcm4che</groupId> <artifactId>dcm4che-core</artifactId> <version>5.24.0</version> </dependency>try (DicomInputStream d

2021-09-07 17:55:45 1381

原创 windows tomcat控制台乱码解决

在windows 系统下启动tomcat可能会出现控制台中文乱码的问题,原因是windows默认编码集为GBK,由于使用startup.bat启动tomcat时,它会读取catalina.bat的代码并打开一个新窗口运行。打开的cmd默认编码可能不是utf-8,与系统编码不一致,所以导致乱码。解决方法也很简单,只要修改tomcat控制台日志输入的编码集与系统命令行窗口的编码集一致即可。操作如下:修改conf文件下的logging.properties文件,将控制台输出的编码修改为GBK:java.ut

2021-08-22 18:50:45 873

原创 spring 过滤器和拦截器实现修改请求体中的参数数据

spring通过过滤器和拦截器实现修改请求体中的参数数据:https://www.jb51.net/article/216183.htm

2021-08-15 20:30:01 1508

原创 RequestBodyAdvice用法详解-参数加解密示例

在实际项目中,我们常常需要在请求前后进行一些操作,比如:参数解密/返回结果加密,打印请求参数和返回结果的日志等。这些与业务无关的东西,我们不希望写在controller方法中,造成代码重复可读性变差。这里,我们讲讲使用@ControllerAdvice和RequestBodyAdvice、ResponseBodyAdvice来对请求前后进行处理(本质上就是AOP),来实现日志记录每一个请求的参数和返回结果。实现步骤1、声明一个类型,加上@ControllerAdvice注解,类实现接口RequestBo

2021-08-15 20:07:32 14171

原创 spring+cxf webservice服务端发布

cxf webservice发布 原文地址:https://www.cnblogs.com/myitnews/p/12370308.html

2021-08-09 00:10:10 81

原创 webservice CXF发布服务端遇坑

1、@WebService(targetNamespace=“http://ws.service.connector/”,endpointInterface = “connector.service.ws.WsForHisService”)此注解在接口和实现类里都要有,实现类里注解里的参数要有,接口类里可以没有注解的参数。2、@WebParam(name=“functionCode”,targetNamespace = “http://ws.service.connector/”)如果是接口和实现类的

2021-08-08 22:25:05 387

原创 Webservice客户端调用--java+CXF

package com.medex.webservice.test;import org.apache.cxf.endpoint.Client;import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;import org.apache.cxf.jaxws.endpoint.dynamic.JaxWsDynamicClientFactory;/*** 两种方式测试客户端*/public class ClientTest { public stati

2021-08-08 18:57:33 295

原创 Webservice客户端调用--java+axis2-document

webservice有多种客户端调用方式,我们这里说的是通过axis2框架的document方式。其他方式后续补充。我们使用免费的webservice地址相关依赖,其中版本号可以改变。 <dependency> <groupId>org.apache.axis2</groupId> <artifactId>axis2-adb</artifactId> &lt

2021-08-08 18:31:59 232

原创 nginx信号量控制

nginx是一个多进程/多线程高性能web服务器,在linux系统中,nginx启动后会以后台守护进程(daemon)的方式去运行,后台进程包含一个master进程和多个worker进程(这个数量可以在nginx.conf配置文件中worker_processes这个参数设置),可以充分利用多核架构。nginx工作模式是以多进程的方式来工作的,当然nginx也是支持多线程的方式的,只是我们主流的方式还是多进程的方式,也是nginx的默认方式。nginx在启动之后会有一个master进程和多个worker进程

2021-08-08 00:09:53 303

原创 Nginx 平滑升级

认识平滑升级有时候我们需要对Nginx版本进行升级以满足运维人员对其功能的需求,例如添加xxx模块,需要xxx功能,而此时Nginx又在跑着业务无法停掉,这时我们就只能平滑升级了。平滑升级原理Nginx服务接收到USR2信号后,将Nginx.pid文件添加.oldbin变成nginx.pid.oldbin文件;然后执行新版本Nginx服务器的二进制文件启动服务,如果新的服务启动成功,系统中将有新旧两个Nginx主进程共同提供Web服务,之后,需要向旧的Nginx服务进程发送WINCH信号,使旧的Ngi

2021-08-07 20:33:00 105

原创 VirtualBox 安装操作系统时不显示鼠标的解决方案

具体问题如下图所示,在virtualbox中进入centos7的安装向导时看不到鼠标光标,鼠标也没有反应。 出问题的virtualbox版本为virtualbox6.0。 解决方法点击centos7虚拟机的设置按钮。或者在虚拟机上右键选择“设置”。 在设置窗口点击侧边栏的“显示 ”。 在“显示”窗口中会看到默认的显卡控制器为vmsvga。 点击下拉按钮将其设置为“vboxvga”。 保存设置后重启虚拟机..

2021-08-01 19:07:20 2836

原创 idea有时会出现明明存在某个类,却提示找不到

idea有时会出现明明存在某个类,却提示找不到,重启idea或更新maven都不管用。原因是idea里有缓存,清理缓存,重启即可。解决步骤:File —> Invalidate Caches/Restart…

2021-05-10 14:24:08 6815 2

原创 java8新特性

https://www.jianshu.com/nb/27231419

2021-05-07 22:07:27 80

原创 泛型

1. 概述泛型在java中有很重要的地位,在面向对象编程及各种设计模式中有非常广泛的应用。什么是泛型?为什么要使用泛型?泛型,即“参数化类型”。一提到参数,最熟悉的就是定义方法时有形参,然后调用此方法时传递实参。那么参数化类型怎么理解呢?顾名思义,就是将类型由原来的具体的类型参数化,类似于方法中的变量参数,此时类型也定义成参数形式(可以称之为类型形参),然后在使用/调用时传入具体的类型(类型实参)。泛型的本质是为了参数化类型(在不创建新的类型的情况下,通过泛型指定的不同类型来控制形参具体限制的

2021-05-07 18:43:36 68

原创 解决在同一个bean类里两个方法互相调用,事务失效的问题。

解决在同一个bean类里两个方法互相调用,事务失效的问题。下面是解决方案:1.把方法B抽离到另外一个XXService中去,并且在这个Service中注入XXService,使用XXService调用方法B;显然,这种方式一点也不优雅,且要产生很多冗余文件,看起来很烦,实际开发中也几乎没人这么做吧?.反正我不建议采用此方案;2.通过在方法内部获得当前类代理对象的方式,通过代理对象调用方法B上面说了:动态代理最终都是要调用原始对象的,而原始对象在去调用方法时,是不会再触发代理了!所以我们就使用

2021-04-29 20:30:29 2230

原创 记录mybatis批量更新失败报错

查找原因后,发现在数据连接时没有开启批量更新。解决办法是:在连接字符串上加个 allowMultiQueries=true 参数即可url:jdbc:mysql://localhost:3306/meicharacterEncoding=utf8&allowMultiQueries=true

2021-04-29 20:24:42 182

原创 记录一次 Mysql表关联索引失效情况

Mysql表关联索引失效情况有可能是以下情况:1 数据库索引关联字段长度不一致2 数据库关联表的编码集不一致3 int和varchar类型自动转换会导致索引失效4 模糊搜索百分%加右边导致索引失效5 少用or6 字段有计算。我的情况就是表关联两个字段varchar长度不一致和两张表的字符集也不一致,导致索引失效。...

2021-04-29 18:50:02 468

原创 Mysql 中InnoDB与MYISAM 区别

先说对于索引实现上的却别。先讲一下B树 和B+树为了便于说明,我们先定义一条数据记录为一个二元组[key,data],key为记录的键值,key唯一;data为数据记录除key外的数据。B树每个节点都存储key和data,所有节点组成这棵树,并且叶子节点指针为null。B+树只有叶子节点存储data,叶子节点包含了这棵树的所有键值,叶子节点不存储指针。MyISAMMyISAM 使用的也是B+树,data存的是数据地址。索引是索引,数...

2021-04-29 15:57:22 351

原创 maven 测试test命令

maven测试为 default 生命周期中的test阶段。test阶段与 maven-surefire-plugin 的test目标相绑定了, 这是一个内置的绑定。Maven通过插件来执行 JUnit 和 TestNG 的测试用例。maven-surefire-plugin 的test目标会自动执行测试源码路径下符合命名模式的测试类。默认测试源代码路径: src/test/java/测试类命名模式:**/Test*.java**/*Test.java**/*TestCase.java按

2021-04-26 14:39:42 2937

原创 Log4j.properties配置详解

参考博客https://www.jianshu.com/p/ccafda45bcea一、 Log4j简介Log4j有三个主要的组件:Loggers(记录器):日志类别和级别; Appenders (输出源):日志要输出的地方; Layouts(布局):日志以何种形式输出1.1 LoggersLoggers组件在此系统中被分为五个级别:DEBUG、INFO、WARN、ERROR和FATAL。这五个级别是有顺序的,DEBUG < INFO < WARN < ERROR &

2021-04-09 14:12:17 161

原创 LINUX常用搜索日志命令

第一种:查看实时变化的日志tail -f 文件名(默认最后10行,相当于增加参数 -n 10)ctrl + c 是退出tail 命令其他情况:tail -n 20 filename (显示filename最后20行)tail -n +5filename (从第5行开始显示文件)第二种:搜索关键字附近的日志cat -n filename|grep "关键字"其他情况:cat filename | grep -C 5 '关键字' (显示日志里匹配字串那行以及前后5行)..

2021-03-07 23:06:32 3391

原创 idea 的一些实用插件

1、GitToolBox : 自动显示光标所在位置代码的git提交记录。2、Free MyBatis plugin : mybatis框架下mapper接口快速跳转对应xml文件。3、Maven Helper : 解决maven 包依赖冲突。4、Lombok : 使用Lombok 框架的必须的插件。...

2021-02-22 00:06:23 261

原创 String常量池详细分析

先举个例子 String a = "hello"; String b = new String("hello"); System.out.println(a == b);//false String c = "world"; System.out.println(c.intern() == c);//true String d = new String("mike"); S

2021-01-22 13:36:00 165

原创 spring 获取http参数

http请求中(get,post都适用)Content-Type:application/json , application/xml , multipart/form-data 等。使用@RequestBody 获取,原生的方式:request.getInputStream(),Content-Type: application/x-www-form-urlencoded@RequestParam 读取到的是http请求url拼接的参数或请求消息体中使用&拼接的参数。原生的获取方.

2021-01-11 18:36:18 205

原创 @ConditionalOnProperty的作用和用法

在spring boot中有时候需要控制配置类是否生效,可以使用@ConditionalOnProperty注解来控制@Configuration是否生效.说明@Retention(RetentionPolicy.RUNTIME)@Target({ ElementType.TYPE, ElementType.METHOD })@Documented@Conditional(OnPropertyCondition.class)public @interface ConditionalOnPr

2020-12-23 22:29:11 754

原创 IDEA 启动spring boot项目报错java.lang.ClassNotFoundException: javax.servlet.ServletContext

在IntelliJ IDEA里建了个Maven项目(用的spring boot)创建项目时操作跟之前在eclipse操作步骤基本差不多;IDEA配置的spring boot项目的tomcat依赖为 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat&l

2020-12-23 22:12:37 2665 1

原创 mybatis中点击mapper接口快速定位到对应xml中sql

mybatis主要应用架构的方式是编写mapper接口,框架扫描其对应的mapper.xml文件,由于xml里面编写大量的sql语句,所以在平时调试中需要对其进行调试,但是xml文件并不能像java文件一样,能快速进行跳转,对查找对应xml文件带来巨大的不便。网友基础idea强大的插件系统下,编写了免费插件Free Mybatis Plugin(mybatis框架下mapper接口快速跳转对应xml文件)亲测好用!下面进行手把手教程安装一、点击File==>Settings二、选择点击Plug

2020-12-09 16:34:32 2600 1

rabbitmq+java简单例子

rabbitmq安装完成后,配置管理站,编写一个java生产消息和消费消息简单例子。

2018-10-24

erlang与rabbitmq官方下载教程

erlang与rabbitmq官方下载教程,官方网站,与寻找资源步骤

2018-10-24

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除