自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(783)
  • 资源 (1)
  • 收藏
  • 关注

原创 spring事务失效的几种情况

1.在Controller层方法级别加事务 一般都是加在service方法里2.在同一个类中其他方法中 调用(默认是失效的,当然自己通过代理的方式调也可以)3.除public权限之外的其他方法;4.spring的事务默认是对RuntimeException进行回滚,而不继承RuntimeException的不回滚; checked异常...

2020-04-27 16:55:09 414

转载 MyBatis中#{}和${}的区别

MyBatis 中 #{} 和 ${} 的区别1、在MyBatis 的映射配置文件中,动态传递参数有两种方式:(1)#{} 占位符(2)${} 拼接符2、#{} 和 ${} 的区别(1)1)#{} 为参数占位符 ?,即sql 预编译2)${} 为字符串替换,即 sql 拼接...

2020-04-27 16:35:12 3018 1

转载 详解Redis中两种持久化机制RDB和AOF(面试常问,工作常用)

redis是一个内存数据库,数据保存在内存中,但是我们都知道内存的数据变化是很快的,也容易发生丢失。幸好Redis还为我们提供了持久化的机制,分别是RDB(Redis DataBase)和AOF(Append Only File)。在这里假设你已经了解了redis的基础语法,某字母网站都有很好的教程,可以去看。基本使用的文章就不写了,都是一些常用的命令。下面针对这两种方式来介绍一下。由浅入...

2020-04-27 15:58:29 189

转载 redis源码学习持久化

作为web开发的一员,相信大家的面试经历里少不了会遇到这个问题:redis是怎么做持久化的?不急着给出答案,先停下来思考一下,然后再看看下面的介绍。希望看了这边文章后,你能够回答这个问题。为什么需要持久化?由于Redis是一种内存型数据库,即服务器在运行时,系统为其分配了一部分内存存储数据,一旦服务器挂了,或者突然宕机了,那么数据库里面的数据将会丢失,为了使服务器即使突然关机也能...

2020-04-27 15:53:52 139

转载 关于protected权限的子类访问方式

声明为protected权限的成员变量和成员方法,可以被同一包中的所有类和不同包中的子类访问。但是,在实际使用中,不同包中的子类要访问父类中protected权限的成员,却不是那么随意的调用。看几个例子:首先在ch13Test包中定义父类Animal,包含一个protected权限的成员变量 i和成员方法eat():package ch13Test;public class A...

2020-04-24 15:57:42 1665

转载 drop,delete与truncate的区别

drop直接删掉表;truncate删除的是表中的数据,再插入数据时自增长的数据id又重新从1开始;delete删除表中数据,可以在后面添加where字句。(1)DELETE语句执行删除操作的过程是每次从表中删除一行,并且同时将该行的删除操作作为事务记录在日志中保存以便进行进行回滚操作。TRUNCATE TABLE 则一次性地从表中删除所有的数据并不把单独的删除操作记录记入日志保存,删...

2020-04-23 09:58:10 584

转载 数据库隔离级别

数据库隔离级别数据库事务的隔离级别有4个,由低到高依次为Read uncommitted、Read committed、Repeatable read、Serializable,这四个级别可以逐个解决脏读、不可重复读、幻读这几类问题。√: 可能出现 ×: 不会出现脏读 不可重复读 幻读Read uncommitted √ √ √Read committed × √ √Repeatab...

2020-04-23 09:16:43 121

转载 线程的锁详解

Java 中每一个对象都有一个锁,当线程访问synchronized 的方法和代码块的时候,会获得这个锁,也可以理解为为这个对象加锁,这个锁在同一时间有且只能被一个线程访问。如果一个线程访问对象锁的时候,锁正在被其他线程访问,那么这个线程就需要等待占用锁的那个线程释放对象锁,陷入阻塞状态。当执行完synchronized方法或者代码块的时候,线程就会释放对象锁。当线程通过 sync...

2020-04-22 17:56:49 1529

转载 wait() 与 notify/notifyAll()

wait() 与 notify/notifyAll() 是Object类的方法1. wait() 与notify/notifyAll方法必须在同步代码块中使用在执行以上方法时,要先获得锁。那么怎么获得锁呢?使用synchronized关键字获得锁。因此,wait() 与 notify/notifyAll() 经常与synchronized搭配使用,即在synchronize...

2020-04-22 17:42:30 346

原创 Linux查找日志常用技巧

1.linux下最强大的搜索命令为”find“。它的格式为”find <指定目录> <指定条件> <指定动作>“;比如使用find命令搜索在根目录下的所有interfaces文件所在位置,命令格式为”find / -name 'interfaces'“2.tail -f catalina.out查看实时日志3.vi 日志名 进入编辑模式 ...

2020-04-22 16:42:44 745

转载 SpringMVC执行流程及工作原理

图解SpringMVC执行流程:SpringMVC执行流程SpringMVC执行流程:1.用户发送请求至前端控制器DispatcherServlet2.DispatcherServlet收到请求调用处理器映射器HandlerMapping。3.处理器映射器根据请求url找到具体的处理器,生成处理器执行链HandlerExecutionChain(包括处理器对象和处理器拦截器)一并...

2020-04-22 10:10:18 289

转载 Spring

TOC]前言 一、基础概念 1. JavaBean 2. Bean 3. 传统Javabean与Spring中的bean的区别 4. POJO 二、Spring核心技术 1. IOC(控制反转) 1.1 什么是IOC 1.2 IoC能做什么 1.3 IoC和DI 1.4 IOC底层原理 (降低类之间的耦合度) 1.5 Spring中怎么用 ...

2020-04-21 12:45:23 153

转载 spring-aop原理讲解 JDK动态代理和CGLIB动态代理

Spring的两大特性是IOC和AOPIOC负责将对象动态的注入到容器,从而达到一种需要谁就注入谁,什么时候需要就什么时候注入的效果。理解spring的ioc也很重要。但是今天主要来和大家讲讲aop。AOP 广泛应用于处理一些具有横切性质的系统级服务,AOP 的出现是对 OOP 的良好补充,用于处理系统中分布于各个模块的横切关注点,比如事务管理、日志、缓存等等。AOP实现的关键在于A...

2020-04-21 11:22:26 485

转载 Java线程池并发执行多个任务

版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/micro_hz/article/details/73865016Java在语言层面提供了多线程的支持,线程池能够避免频繁的线程创建和销毁的开销,因此很多时候在项目当中我们是使用的线程池去完成多线程的任务。Java提供了Execut...

2020-04-21 10:58:22 2629

转载 Spring的两种动态代理:Jdk和Cglib 的区别和实现

一、原理区别:java动态代理是利用反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。而cglib动态代理是利用asm开源包,对代理对象类的class文件加载进来,通过修改其字节码生成子类来处理。1、如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP2、如果目标对象实现了接口,可以强制使用CGLIB实现AOP3、如果目...

2020-04-20 21:16:24 210

转载 使用CGlib实现Bean拷贝(BeanCopier)

目录BeanCopier基本用法 自定义转换器 封装BeanCopier  在做业务的时候,我们有时为了隔离变化,会将DAO查询出来的Entity,和对外提供的DTO隔离开来。大概90%的时候,它们的结构都是类似的,但是我们很不喜欢写很多冗长的b.setF1(a.getF1())这样的代码,于是我们需要BeanCopier来帮助我们。选择Cglib的BeanCopier进行Bean...

2020-04-20 14:59:13 1476

原创 阿里巴巴开发手册新手注意点

1.【强制】POJO类中布尔类型的变量,都不要加is前缀,否则部分框架解析会引起序列化错误。 反例:定义为基本数据类型Boolean isDeleted的属性,它的方法也是isDeleted(),RPC阿里巴巴 Java 开发手册框架在反向解析的时候,“误以为”对应的属性名称是deleted,导致属性获取不到,进而抛出异常。2.【推荐】为了达到代码自解释的目标,任何自定义编程元素在命名时,...

2020-04-18 15:54:20 357

原创 实体类序列化 serialVersionUID 告警设置

在下图文件中设置 ,在新建实体类中若没有serialVersionUID 会做出提示

2020-04-18 10:52:48 329

转载 springboot中各个版本的redis配置问题

今天在springboot中使用数据库,springboot版本为2.0.2.RELEASE,通过pom引入jar包,配置文件application.properties中的redis配置文件报错,提示例如deprecated configuration property 'spring.redis.pool.max-active',猜想应该是版本不对,发现springboot在1.4前后集成re...

2020-03-24 17:28:11 898

转载 两台Linux系统之间传输文件 secure CRT scp

如何在Linux系统之间传输文件及文件夹,简单介绍下Linux系统自带的命令scp,使用这个命令进行两台Linux系统服务器之间进行传输文件及文件夹的操作。两台Linux系统之间传输文件1 工具/原料 Linux secure CRT2 方法/步骤2.1 防火墙 用CRT分别连上两台需要传输文件的linux系统服务器,并检查防火墙是否关闭。 查看防火墙状态...

2020-03-23 19:14:15 547

转载 Spring Boot 日志配置(超详细)

更新日志:20170810 更新通过 application.yml传递参数到 logback 中。[toc]简书不支持目录,截图一张。image.png默认日志 Logback:默认情况下,Spring Boot会用Logback来记录日志,并用INFO级别输出到控制台。在运行应用程序和其他例子时,你应该已经看到很多INFO级别的日志了。从上图可以看到,日志...

2020-03-23 11:35:52 1527

转载 四种常见的 POST 提交数据方式

HTTP/1.1 协议规定的 HTTP 请求方法有 OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE、CONNECT 这几种。其中 POST 一般用来向服务端提交数据,本文主要讨论 POST 提交数据的几种方式。我们知道,HTTP 协议是以 ASCII 码传输,建立在 TCP/IP 协议之上的应用层规范。规范把 HTTP 请求分为三个部分:状态行请求行、请求头、消息...

2020-03-17 16:44:05 372

转载 Element 'dependency' cannot have character (children), because this type's content type is element-

今天项目里需要用到fastjson,就从http://search.maven.org找了一下,顺手复制了如下代码粘贴到pom文件,<dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <versi...

2020-03-16 09:51:35 1541

转载 springboot中log的一些使用注意点

1.配置日志输出到文件# 输出到指定文件logging: file:/logs/application.log# 输出到指定目录下(会写入到 spring.log 中)logging: path: /logs/当同时存在 logging.path 和 logging.file 时 logging.path 无效2.优先级从高到低依次为:OFF、FATAL、ERROR...

2020-03-14 18:10:10 804

原创 Error resolving JdbcType. Cause: java.lang.Ilenum constant org.apache.ibatis.type.JdbcType.integer

Caused by: org.apache.ibatis.builder.BuilderException: Error resolving JdbcType. Cause: java.lang.IllegalArgumentException: No enum constant org.apache.ibatis.type.JdbcType.integer at org.apache.i...

2020-03-13 17:14:45 1047 1

原创 idea 中解决冲突

右键选择 git 下的conflict左面的Your version, branch master 是远程服务器上面的代码,中间Result是将会保留的结果,右面Changes from server是自己本地尚未提交的代码,将左面与右面需要保留的代码合并到中间,点击apply即可...

2020-03-11 15:29:23 2634

转载 SpringBoot Mybatis PageHelper插件报错

SpringBoot2.0.0 MyBatis1.3.2 PageHelper1.1.2插件,但是在启动运行时,抛错:org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.github.pagehelper.autoconfigure.PageHelperAutoCon...

2020-03-10 17:15:08 541

转载 TIKA提取mp4文件

下面给出的程序是用来从mp4文件提取内容和元数据:import java.io.File;import java.io.FileInputStream;import java.io.IOException;import org.apache.tika.exception.TikaException;import org.apache.tika.metadata.Metadata;...

2020-03-04 15:14:52 1048

原创 gif图片在java中读取尺寸

open_image 可用,百度一下即可

2020-03-04 10:35:51 674

转载 浅谈XXE漏洞攻击与防御

之前在参加一场CTF竞赛中遇到了xxe漏洞,由于当时并没有研究过此漏洞,解题毫无头绪。为了弥补web安全防御知识以及减少漏洞利用短板,我翻阅了一些关于xxe漏洞的资料,学习后在此总结分享。XML基础在介绍xxe漏洞前,先学习温顾一下XML的基础知识。XML被设计为传输和存储数据,其焦点是数据的内容,其把数据从HTML分离,是独立于软件和硬件的信息传输工具。XML文档...

2020-03-03 17:53:32 737

转载 maven(12),排除冲突JAR包

JAR包冲突 <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <...

2020-03-03 16:12:15 252

转载 com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through r

  在Web项目中,我们经常会设计一些与界面相对应的JavaBean作为Entity,而为了兼容前台传入的空值,有些字段我们会用包装类型而不是基本类型。可是往往我的Entity已经设计完成,很多时候我们会在原来的Entity基础上修改字段返回值类型,而不是删去重写。于是问题就来了,一些大意的同学仅仅把属性的基本类型(如long)改为包装类型(如Long),而并没有将setter/getter的类型...

2020-03-03 16:10:56 4116

原创 SimpleMappingExceptionResolver 统一处理异常

SimpleMappingExceptionResolver类,该类实现了HandlerExceptionResolver接口,需要使用时只需要使用<bean/>节点进行声明即可,示例如下:Xml代码 <beanclass="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver"&...

2020-02-25 10:19:43 2923

转载 HTTP请求状态码为400时的原因

出现这个请求无效说明请求没有进入后台服务器里原因: (1)前端提交的字段名称或者字段类型和后台的实体类不一样 或者前端提交的参数跟后台需要的参数个数不一致,导致无法封装   (2)前端提交到后台的数据应该是JSON字符串类型,而前端没有将对象转化为字符串类型;解决方法: 对照字段名称,类型保证一致...

2020-02-25 09:37:29 3957

转载 将Web应用部署到Tomcat根目录的三种方法

将应用部署到Tomcat根目录的三种方法将应用部署到Tomcat根目录的目的是可以通过“http://[ip]:[port]”直接访问应用,而不是使用“http://[ip]:[port]/[appName]”上下文路径进行访问。方法一:(最简单直接的方法)删除原 webapps/ROOT 目录下的所有文件,将应用下的所有文件和文件夹复制到ROOT文件夹下。方法二:删...

2020-02-24 18:16:20 658

转载 FreeMarker(七)Html转义

在不做任何处理的情况下,往页面传一串Html代码,它会嵌套到页面代码中,一起被编译并且显示。比如:某个用户把自己的用户名写成a标签,最后显示出来的用户名就是一个超链接例://传递的参数map.put("sp6", "这是一段带有攻击性的字符串<a href='https://www.baidu.com/'>请点击</a>");12页面代码:<ht...

2020-02-24 15:02:44 1524

转载 IDEA部署tomcat原理小解

IDEA部署tomcat原理小解最近看到一个视频对IDEA部署启动tomcat有了新的理解。下面和大家分享一下。1.tomcat部署项目的三种方式在纯tomcat环境下,不使用开发工具tomcat部署项目有三种方式。①把html放到tomcat的webapps目录下的hello文件夹中,如下图。启动tomcat访问http://localhost:8080/hello/hell...

2020-02-20 11:26:31 2217 4

转载 Linux 切换到root用户

测试用户下 输入:sudo -i回车后输入test用户的密码,就切换到root用户了 [test@ip-125-125-125-125/]$ sudo -i [sudo] password for test: [root@ip-125-125-125-125~]# ...

2020-02-18 15:45:45 1638

转载 jQuery.ajax向后台传递数组问题的解决方法

今天重温了一个问题,jQuery.ajax向后台传递一个数组,而在后台接收不到该值。前台js方法部分代码如下:? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 //创建一个测试数组...

2020-02-12 16:18:34 490

原创 JAVA基础中的遗漏处

1.Integer[] a= new Integer[2]; 这种如果引用会报错,数组中包装类型默认值为null;int[] a= new int[20]; 引用不会报错,初始值为0;

2020-02-06 17:47:08 181

putty.exe

putty.exe

2022-06-22

空空如也

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

TA关注的人

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