自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(52)
  • 收藏
  • 关注

原创 docker-dockerfile

target/demo-0.0.1-SNAPSHOT.jar 需要提前打包好。my-image是镜像名称 my-image和最后面的点好中间有个空格。再springboot 项目的根目录下创建Dockerfile 文件。下载docker-desktop,按照提示一步步安装,配置docker镜像的存储位置。控制台输入命令行执行。

2024-03-05 20:58:41 353

原创 网络-httpclient调用https服务端绕过证书的方法

在日常开发或者测试中,通常会遇到需要用httpclient客户端调用对方http是服务器的场景,由于没有证书,所以直接是无法调用的。

2024-03-03 15:20:26 542

原创 mybatis-传递参数的方式

这就传参方式的优点是比较方便,controller层使用@RequestBody接收到实体类参数后,直接传递给mapper层调用即可,不需要在进行参数的转换。item表示集合中每一个元素进行迭代时的别名, index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,在实际开发过程中,增删改查操作都要涉及到请求参数的传递,今天这节就集中讲下在mybatis中传递参数的7中方法。2.如果传入的是单参数且参数类型是一个array数组的时候,collection的属性值为array。

2024-03-03 14:51:53 704

原创 Tomcat的配置文件

defaultHost:Tomcat支持基于FQDN的虚拟主机,这些虚拟主机可以通过在Engine容器中定义多个不同的Host组件来实现;但如果此引擎的连接器收到一个发往非非明确定义虚拟主机的请求时则需要将此请求发往一个默认的虚拟主机进行处理,因此,在Engine中定义的多个虚拟主机的主机名称中至少要有一个跟defaultHost定义的主机名称同名;name:Engine组件的名称,用于日志和错误信息记录时区别不同的引擎;

2024-03-03 14:25:58 2158 1

转载 类加载器总结

类加载器

2024-03-03 11:23:47 19

原创 maven打包包含本地lib里面的jar包

maven打包包含本地lib里面的jar包。

2023-02-02 09:36:56 2357 1

原创 spring事务同步管理器

spring事务同步管理器

2022-06-24 22:18:56 536

原创 事务保存点

事务保存点

2022-06-24 21:18:34 328

原创 TransactionDefinition 属性说明

TransactionDefinition 属性说明

2022-06-20 14:55:04 238

原创 springboot 入口方法分析

spring

2022-06-20 10:29:32 168

原创 正则表达式

(?:str) 非捕获组(?=str) 肯定式向前查找(?!str) 否定式向前查找(?<=str) 肯定式向后查找(?<!str) 否定式向后查找(?!.) - 不允许.在启动(?!.?..) - 不允许连续2点(?!..$) - 唐不允许.结束let regx=/^(?=[A-Za-z0-9])[A-Za-z0-9.-_]{4,18}(?<=[A-Za-z0-9])@((?!-)(?!.*?--)[A-Za-z0-9-]{0,63}(?<!-))$/;..

2021-06-15 14:50:06 61

转载 mysql sql分析

MySQL Explain详解在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描,这都可以通过explain命令来查看。所以我们深入了解MySQL的基于开销的优化器,还可以获得很多可能被优化器考虑到的访问策略的细节,以及当运行SQL语句时哪种策略预计会被优化器采用。– 实际SQL,查找用户名为Jefabc的员工selec

2021-05-17 11:12:07 1092

转载 quartz定时任务cron表达式详解

cron表达式用于配置cronTrigger的实例。cron表达式实际上是由七个子表达式组成。这些表达式之间用空格分隔。1.Seconds (秒)2.Minutes(分)3.Hours(小时)4.Day-of-Month (天)5.Month(月)6.Day-of-Week (周)7.Year(年)例:"0 0 12 ? * WED” 意思是:每个星期三的中午12点执行。个别子表达式可以包含范围或者列表。例如:上面例子中的WED可以换成"MON-FRI",“MON,WED,FRI”,甚至

2021-05-07 16:53:06 201

转载 KeepAlive

什么是KeepAlive?首先,我们要明确我们谈的是TCP的 KeepAlive 还是HTTP的 Keep-Alive。TCP的KeepAlive和HTTP的Keep-Alive是完全不同的概念,不能混为一谈。实际上HTTP的KeepAlive写法是Keep-Alive,跟TCP的KeepAlive写法上也有不同。TCP的keepalive是侧重在保持客户端和服务端的连接,一方会不定期发送心跳包给另一方,当一方端掉的时候,没有断掉的定时发送几次心跳包,如果间隔发送几次,对方都返回的是RST,而不是ACK

2021-03-26 15:34:52 180

转载 Java利用Mybatis进行数据权限控制

权限控制主要分为两块,认证(Authentication)与授权(Authorization)。认证之后确认了身份正确,业务系统就会进行授权,现在业界比较流行的模型就是RBAC(Role-Based Access Control)。RBAC包含为下面四个要素:用户、角色、权限、资源。用户是源头,资源是目标,用户绑定至角色,资源与权限关联,最终将角色与权限关联,就形成了比较完整灵活的权限控制模型。资源是最终需要控制的标的物,但是我们在一个业务系统中要将哪些元素作为待控制的资源呢?我将系统中待控制的资源分为三

2021-03-26 10:32:24 211

原创 BeanDefinitionRegistryPostProcessor的作用及和 BeanFactoryPostProcessor 的区别

一、BeanDefinitionRegistryPostProcessor 和 BeanFactoryPostProcessor 的联系spring中的BeanDefinitionRegistryPostProcessor是BeanFactoryPostProcessor的子接口,是BeanFactory 后处理器的一种BeanFactoryPostProcessor 接口作用及用法见:BeanFactoryPostProcessor和BeanPostProcessor 的区别和联系二、BeanDe

2020-12-12 14:12:13 1307 1

原创 BeanDefinitionRegistry 简介

简要描述BeanDefinitionRegistry是一个接口, 实现了AliasRegistry接口, 定义了一些对 BeanDefinition 的常用操作。可以认为是 Bean定义注册中心它大概有如下功能:以Map<String, BeanDefinition>的形式注册bean根据beanName 删除和获取 beanDefiniation得到持有的beanDefiniation的数目根据beanName 判断是否包含beanDefiniation源码如下:publi

2020-12-12 11:52:20 2822

原创 BeanFactoryPostProcessor和BeanPostProcessor 的区别和联系

1.1、BeanFactoryPostProcessor接口@FunctionalInterfacepublic interface BeanFactoryPostProcessor { /** * Modify the application context's internal bean factory after its standard * initialization. All bean definitions will have been loaded, but no beans

2020-12-12 11:26:53 478

原创 FactoryBean 实现接口代理

FactoryBean是一个接口,当在IOC容器中的Bean实现了FactoryBean后,通过getBean(String BeanName)获取到的Bean对象并不是FactoryBean的实现类对象,而是这个实现类中的getObject()方法返回的对象。一、自定义 FactoryBean 重写 getObject方法 (通过动态代理生成对应接口的实现类)/** * 接口实例工厂,这里主要是用于提供接口的实例对象 * @author lichuang * @param <T>

2020-12-12 10:34:18 861 2

原创 BeanPostProcessor 介绍及使用

BeanPostProcessor  该接口我们也叫后置处理器,作用是在Bean对象在实例化和依赖注入完毕后,在显示调用初始化方法的前后添加我们自己的逻辑。注意是Bean实例化完毕后及依赖注入完成后触发的。接口的源码如下  public interface BeanPostProcessor { Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException; Object p

2020-12-10 11:51:31 4005

原创 装饰器和适配器模式

适配器模式与装饰器模式的区别装饰器与适配器都有一个别名叫做 包装模式(Wrapper),它们看似都是起到包装一个类或对象的作用,但是使用它们的目的很不一一样。适配器模式的意义是要将一个接口转变成另一个接口,它的目的是通过改变接口来达到重复使用的目的。而装饰器模式不是要改变被装饰对象的接口,而是恰恰要保持原有的接口,但是增强原有对象的功能,或者改变原有对象的处理方式而提升性能。所以这两个模式设计的目的是不同的。...

2020-12-08 11:28:30 137

原创 ajax中传递token的两种方法

放在请求头中 $.ajax({ type: "post", url: "http:///test/getInfo", headers: { //请求头 Accept: "application/json; charset=utf-8", token: "" + token //这是获取的token

2020-11-30 14:19:47 3399

原创 ngix反向代理配置

ngix

2020-11-30 11:00:26 143

转载 shiro 实现权限控制

待写

2020-11-23 12:00:40 339

转载 Promise的使用

在实际的使用中,有非常多的应用场景我们不能立即知道应该如何继续往下执行。最常见的一个场景就是ajax请求。通俗来说,由于网速的不同,可能你得到返回值的时间也是不同的,这个时候我们就需要等待,结果出来了之后才知道怎么样继续下去。// 简单的ajax原生实现var url = 'https://hq.tigerbrokers.com/fundamental/finance_calendar/getType/2017-02-26/2017-06-10';var result;var XHR = ne.

2020-11-19 10:08:27 95

转载 ES6新增常用语法

一、新的变量声明方式1、let使用let声明的变量可以重新赋值,但是不能在同一作用域内重新声明,常用来声明一个汇编改变的变量。2、const使用const声明的变量必须赋值初始化,但是不能在同一作用域类重新声明也无法重新赋值,常用来声明一个值不会被改变的量。当值为基础数据类型时,那么值就是它本身,不可被改变;如果值为引用数据类型时(对象、数组),值就指的是它的引用,只要引用不变即可,仍可改变引用指向的对象里的值。const a=1;a=2; //报错,Uncaught TypeError:

2020-11-19 09:23:10 271

转载 详解SpringBoot整合Redis

https://blog.csdn.net/qq_36781505/article/details/86612988

2020-11-18 18:11:10 54

转载 springboot中集成logback日志配置

Logback是log4j框架的作者开发的新一代日志框架,它效率更高、能够适应诸多的运行环境,同时天然支持SLF4J。默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。使用 logback,需要引入依赖: org.springframework.boot spring-boot-starter-logging但是实际开发中我们不需要直接添加该依赖,因为spring-boot-start

2020-11-18 18:08:01 168

转载 Vue自定义指令实现按钮级权限控制功能

思路:登录:当用户填写完账号和密码后向服务端验证是否正确,验证通过之后,服务端会返回一个token,拿到token之后(我会将这个token存贮到sessionStorage中,保证刷新页面后能记住用户登录状态),前端会根据token再去拉取一个 user_info 的接口来获取用户的详细信息(如用户权限,用户名等等信息)。权限验证:通过token获取用户对应的 role,自定义指令,获取路由meta属性里btnPermissions( 注: meta.btnPermissions是存放按钮权限的数组,

2020-11-17 15:59:50 696

原创 SpringBoot 启动多环境配置

1、application.properties 格式创建三个配置文件多环境配置的文件名需要满足application-{profile}.properties的格式,其中{profile}对应你的环境标识application.properties 默认启动文件application-dev.properties 开发环境配置文件application-prod.properties 生产环境配置文件再application.properti

2020-11-17 15:45:55 169

原创 spring 传播机制

2020-11-05 10:15:54 101

原创 websokect集群的一个方案

2020-09-17 10:24:07 37

原创 ws客户端 js版带心跳检测

var wsClient = { socket: null, //websocket的实例 lockReconnect: false, //避免重复连接 timeout: 1000, //60秒 timeoutObj: null, serverTimeoutObj: null, getwebsocket: function (wsUrl,appKey,alias) { //新建websocket的函数 页面初始化 断开连接时重新调用 var s

2020-09-01 11:13:09 1039

原创 BeanDefinition 属性详解

(1)id:bean的唯一标识名。它必须是合法的XMLID,在整个XML文档中唯一。(2)name:用来为id创建一个或多个别名。它可以是任意的字母符合。多个别名之间用逗号或空格分开。(3)class:用来定义类的全限定名(包名+类名)。只有子类Bean不用定义该属性。(4)parent:子类Bean定义它所引用它的父类Bean。这时前面的class属性失效。子类Bean会继承父类Bean的所有属性,子类Bean也可以覆盖父类Bean的属性,注意:子类Bean和父类Bean是同一个Java类。(5.

2020-08-27 09:55:06 1193

原创 BeanFactory 和FactoryBean的区别

一:简单的说BeanFactory 是接口,提供了IOC容器最基本的形式,给具体的IOC容器的实现提供了规范。FactoryBean 也是接口,为IOC容器中Bean的实现提供了更加灵活的方式,FactoryBean在IOC容器的基础上给Bean的实现加上了一个简单的工厂模式和装饰模式 ,我们可以在getObject()方法中灵活配置. 区别:BeanFaactory 是哥Factory,也就是IOC容器或对象工厂,FactoryBean是个Bean.在Spring中,所有的Bean都是由Bea

2020-08-26 09:11:02 586

原创 BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor 的区别

BeanFactoryPostProcessor和BeanDefinitionRegistryPostProcessor 都是spring的后置处理器BeanDefinitionRegistryPostProcessor 继承 BeanFactoryPostProcessor1、BeanDefinitionRegistryPostProcessorpublic interface BeanDefinitionRegistryPostProcessor extends BeanFactoryPostP

2020-08-25 10:40:26 382

原创 Aware spring容器感知机

Aware spring容器感知机

2020-08-25 09:41:40 117

原创 使用docker安装mysql并连接

使用docker安装mysql并连接1.查找镜像:docker search mysql也可以去官网查看镜像tag,选择自己需要的版本,否则会下载最新版本:https://hub.docker.com/_/mysql/2.下载镜像(如上一步,可以指定想要的版本,不指定则为最新版):docker pull mysql3.通过镜像创建容器并运行:复制代码docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v

2020-07-22 15:42:32 101

原创 spring属性装配

1

2020-07-19 00:43:12 194

原创 spring bean 的生命周期

1、spring bean 的生命周期图

2020-07-14 00:34:50 61

空空如也

空空如也

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

TA关注的人

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