自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 编程式AOP实例

LogOperation 日志注解/** * <p> * <code>LogOperation</code>日志注解 * </p> * * @author yhdiao * @version 1.0 * @date 2020/10/22 14:18 * @since 1.0 */@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIM

2021-06-14 18:57:07 264

转载 Spring AOP详细介绍

原文地址:https://www.iteye.com/blogs/subjects/springaop1 Aop简介1.1 基本原理1.2 基本概念2 基于Aspectj注解的Spring Aop简单实现2.1 启用对Aspectj注解的支持2.2 定义切面类2.3 定义Pointcut2.4 定义Advice3 Pointcut表达式介绍3.1 表达式类型3.2 使用示例3.3 表达式组合3.4 基于Aspectj注解的Pointcut表达式应用

2021-06-14 18:11:28 779

原创 Jar包脚本部署案例

#!/bin/sh #注意事项#svn#svn help查看svn帮助#1.svn代码检出# svn co http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码# svn co svn://路径(目录或文件的全路径) [本地目录全路径] --username 用户名 --password 密码# svn checkout http://路径(目录或文件的全路径) [本地目录全路径] --username 用户名# svn

2021-06-14 17:34:18 342

原创 elasticdump迁移es数据

一、安装elasticdump前提: 插件使用npm安装,所以先保证本地安装有node环境,且版本要大于v8,尽量高一点就行。(1)、安装nodejs(如果已安装请忽略)执行yum install -y nodejs(2)、升级nodejs执行npm install -g nn latest1. 执行npm install 2. 执行npm install elasticdump –g-g表示全局可用,直接在终端输入 elasticdump --version,出现版本

2021-06-08 14:02:04 633

原创 springboot集成h2数据库

springboot集成h2数据库简介1、H2数据库是一个开源的关系型数据库。H2采用java语言编写,不受平台的限制,同时支持网络版和嵌入式版本,有比较好的兼容性,支持相当标准的sql标准2、提供JDBC、ODBC访问接口,提供了非常友好的基于web的数据库管理界面官网:http://www.h2database.com/引入依赖 <parent> <groupId>org.springframework.boot</groupId>

2021-04-14 10:08:01 730

转载 Java中的异常Error和Exception

异常机制的概述​ 异常机制是指当程序出现错误后,程序如何处理。具体来说,异常机制提供了程序退出的安全通道。当出现错误后,程序执行的流程发生改变,程序的控制权转移到异常处理器。程序错误分为三种:1.编译错误;2.运行时错误;3.逻辑错误。(1)编译错误是因为程序没有遵循语法规则,编译程序能够自己发现并且提示我们错误的原因和位置,这个也是大家在刚接触编程语言最常遇到的问题。(2)运行时错误是因为程序在执行时,运行环境发现了不能执行的操作。(3)逻辑错误是因为程序没有按照预期的逻辑顺序执行。异

2021-04-13 19:06:22 1192

原创 ArrayList和LinkedList的区别

相同点1.实现了java.util.List接口,支持泛型2.实现了Cloneable接口,能够支持克隆3.实现了java.io.Serializable接口,能够支持序列化4.都是线程不安全的5.有序集合区别ArrayList1.实现了基于动态数组的数据结构2.数组大小固定,扩容后的容量是扩容前的1.5倍,可能浪费内存3.对于随机访问get和set,ArrayList觉得优于LinkedList,因为LinkedList要移动指针。LinkedList1.底层是用双向链表

2021-04-13 18:58:49 115 1

原创 Kafka安装部署及基本使用

Kafka单机安装部署下载kafkahttps://archive.apache.org/dist/kafka/2.0.0/kafka_2.11-2.0.0.tgz安装过程安装过程非常简单,只需要解压就行,因为这个是编译好之后的可执行程序解压tar -zxvf kafka_2.11-2.0.0.tgz 配置zookeeper因为kafka依赖于zookeeper来做master选举一起其他数据的维护,所以需要先启动zookeeper节点 kafka内置了zookeeper的服务,所以在bi

2021-04-07 19:11:09 519

原创 spring注解之@Import注解的三种使用方式

加入IOC容器的方式有很多种,其中@Import注解通过快速导入的方式实现把bean实例加入spring的IOC容器中,@Import注解可以用于导入第三方包,当然@Bean注解也可以,但是@Import注解快速导入的方式更加便捷,@Import的三种用法:直接填class数组方式 ImportSelector方式【重点】 ImportBeanDefinitionRegistrar方式注意:@Import只能用在类类、接口、注解上1.@Import直接填加class数组直接填加对...

2021-03-17 11:12:52 371

原创 spring集成Mybatis学习三种方式扫描加载mapper接口

@MapperCan@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@Documented@Import(MapperScannerRegistrar.class)public @interface MapperScan { /** * Alias for the {@link #basePackages()} attribute. Allows for more concise * annotatio.

2021-03-16 19:56:30 2217 1

原创 spring 自定义启动初始化执行脚本

1、数据源配置@Bean// 将所有前缀为spring.datasource下的配置项都加载DataSource中@ConfigurationProperties(prefix = "spring.datasource")public DataSource dataSource() { return new DruidDataSource();}2、脚本加载类dataSource 数据源,需要数据源执行脚本location 脚本位置,多个以";"分隔,PathMatchin

2021-02-06 15:32:24 425

原创 前端遇坑记录——axios请求的参数自动拼接到url后面

axios的传参有两种方式:一种是params一种是data而params会默认把 要传的参数添加到url后面

2021-02-05 13:43:42 2786

原创 springboot整合redis订阅logstash消息

logstash收集日志写入redishttps://blog.csdn.net/qq_41665121/article/details/1133976241.pom 依赖引用<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schem

2021-02-04 18:48:36 147

原创 Java retry使用说明

C++中有goto能直接跳出多层循环,Java中类似的语句retry。首先retry不是关键字,他是一个标记有点类似于goto,这个不要混淆。retry后面跟循环,标记这个循环的位置,我们可以在continue或者break后面加retry,表示要跳到或跳出这个循环,其中:break retry 表示跳出retry标记的循环continue retry 表示跳到retry标记的循环,且再次进入循环继续执行。下面附上一些例子帮助大家理解。首先我们来上一个正常的for循环:conti

2021-02-04 11:29:30 340 1

原创 Java jar包部署运行shell脚本

#!/bin/bashset -e# 基础# export JAVA_HOME=/work/programs/jdk/jdk1.8.0_181# export PATH=PATH=$PATH:$JAVA_HOME/bin# export CLASSPATH=$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarDATE=$(date +%Y%m%d%H%M)# 基础路径BASE_PATH=/wor.

2021-02-03 18:50:24 2952 1

原创 Springboot启动时数据库初始化

使用springboot jdbc初始化数据库spring.datasource下有两个属性schme、data,其中schema为表初始化语句,data为数据初始化,默认加载schema.sql与data.sql。脚本位置可以通过spring.datasource.schema 与spring.datasource.data来改变。spring: datasource: username: xxx password: xxx url: jdbc:mysql:/..

2021-02-03 18:41:42 2778 2

转载 springboot把web项目打成war包部署到外部tomcat

1.maven pom文件配置1.1.打包方式为war<packaging>war</packaging>1.2.移除tomcat依赖或者将tomcat依赖scope改为provide移除tomcat依赖<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</.

2021-02-02 16:05:07 263

原创 logstash收集日志写入redis

一、部署redis1、下载redis[root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.gz[root@linux-node2 ~]# tar -zxvf redis-4.0.6.tar.gz[root@linux-node2 ~]# mv redis-4.0.6 /usr/loca/src[root@linux-node2 ~]# cd /usr/local/src/redis-4.0.6

2021-01-29 19:19:31 714

转载 101个shell脚本

https://blog.51cto.com/zero01/2046242

2021-01-28 14:07:07 116

原创 springboot打包依赖jar包

pom文件添加插件配置<plugins> <!--spring boot插件--> <!--方案1:重命名可执行jar包,repackage 可依赖jar包--> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifa

2021-01-28 10:43:14 772

原创 函数式接口

函数式编程java.util.function这个包的源码,你会发现这个包下面全是接口,这些接口被称为函数式接口。这些函数式接口总体上分为四类: Function 类型:传入一个bean 返回另外一个bean Consumer 类型:传入一个bean 无返回值 Predicate 类型:传入一个bean 返回布尔值 Supplier 类型:没有入参,有出参 Function 类型Consumer 类型Predicate 类型Su...

2021-01-11 18:43:38 67

原创 Springboot加载maven父子工程配置文件的方法

1、@PropertySource父子工程同名配置文件,优先加载当前主模块的配置文件,主模块的配置文件没有加载子模块的配置文件 (默认resource下的配置文件)@PropertySource(value={"classpath:skill-common.properties"})2、ResourceUtilsorg.springframework.util.ResourceUtils父子工程同名配置文件,优先加载当前主模块的配置文件,主模块的配置文件没有加载子模块的配置文件(默..

2021-01-07 19:11:52 1882

原创 Spring boot 注解@Async不生效 不起作用

今天在做公司项目时,想要使用异步调用去处理方法。于是我把注解@Async 加到了自己一个方法上,后来发现并没有生效。检查代码:@SpringBootApplication启动类当中已经添加@EnableAsync注解可能应该是因为aop代理的缘故,被调用方法 和 调用处的代码都处在同一个类,所以只是相当于本类调用,并没有使用代理类 从而@Async并没有产生效果。于是单独创建一个类调用@Async处理的方法,还是不行@Async注解的实现都是基于Spring的AOP,后面创建的类也必须用

2020-11-12 11:22:43 2003

原创 IDEA中设置注释模板的方法

IDEA中设置注释模板主要分为两个部分,分别是创建java文件时类的注释和方法的注释。一、设置类的注释模板1、选择File→Settings→Editor→File and Code Templates→Files→Class。可以看到创建Class时的注释模板二、设置方法的注释模板1、选择File→Settings→Editor→Live Templates。点击右边的加号,选择Template Group,创建一个分组2、再点击加号,选择Live Template..

2020-09-22 15:36:26 1072

原创 Elasticsearch java API之基于scroll 分页搜索

public Page scrollPage(Page page, String key, String state, String code, Date begin, Date end) { int pageSize = page.getPageSize(); int currentPageNo = page.getCurrentPageNo(); TransportClient client = this.elasticsearchTemplate.ge.

2020-09-08 14:21:35 1579 1

转载 spring aware 各种接口的作用解析

spring aware的使用:使用了spring Aware 你的bean将会和spring框架耦合,spring aware 的目的是为了让bean获取spring容器的服务:spring 提供的aware的接口:BeanNameAware :可以获取容器中bean的名称BeanFactoryAware:获取当前bean factory这也可以调用容器的服务ApplicationContextAware: 当前的applicationContext, 这也可以调用容器的服务.

2020-08-20 15:09:47 1187

转载 java开发的三层架构和MVC模型

1.1三层架构我们的开发架构一般都是基于两种形式,一种是C/S架构,也就是客户端/服务器,另一种是B/S架构,也就是浏览器服务器。在JavaEE开发中,几乎都是基于B/S架构开发的。那么在B/S架构中,系统标准的三层架构包括表现层、业务层、持久层。三层架构中,每一层各司其职,接下来我们就说说每层都负责哪些方面:1.表现层:也就是我们常说的web层。它负责接收客户端请求,向客户端响应结果, 通常客户端使用http协议请求web层,web需要接受http请求,完成http响应。表现层...

2020-06-22 11:11:11 423

原创 mysql创建存储过程,set动态赋值

1.表结构CREATE TABLE `tb_course_version` ( `COURSE_ID` varchar(32) NOT NULL COMMENT '', `BASE_ID` varchar(32) NOT NULL COMMENT '', `VERSION` int(6) NOT NULL DEFAULT '1' COMMENT '版本号序号', PRIMARY KEY (`COURSE_ID`), KEY `BASE_ID_INDEX` (`BASE_ID`))

2020-06-12 17:40:35 2955

原创 Java keytool生成jks证书,并使用openssl查看公钥信息

1.keytoo工具keytool生成jks证书keytool在jdk/bin目录下在ideaterminal使用 keytool生成jks:idea——terminal跳到指定要生成jks目录:/home/echo/IdeaProjects/spring-security-oauth2-demo/spring-security-oauth2-authorization-jwt/src/main/resources生成jks指令:keytool -genkeypair -a.

2020-06-11 11:48:03 3402 1

原创 springboot中自定义springmvc配置

首先我们要明确,跟自定义springmvc配置的相关类和注解主要有如下四个: WebMvcConfigurerAdapter WebMvcConfigurer WebMvcConfigurationSupport @EnableWebMvc 这四个中,除了第四个是注解,另外三个两个类一个接口,功能看起来相似,使用起来效果大不相同总结如下:...

2020-04-22 14:13:09 222

原创 Java执行python脚本

1.通过Jython实现调用Jython简介Jython主页:http://www.jython.org/Jython是Python语言在Java平台的实现,本质上,Jython是由Java编写,其是在JVM上实现的Python语言。因此,可以直接通过Jython在Java中调用Python。到官网https://www.jython.org/download.html下载Jyth...

2020-04-22 10:19:03 1879

原创 Springboot加载外部配置文件的方法

1. 项目内部配置文件 以上是按照优先级从高到低的顺序,所有位置的文件都会被加载,高优先级配置内容会覆盖低优先级配置内容。SpringBoot会从这四个位置全部加载主配置文件,如果高优先级中配置文件属性与低优先级配置文件不冲突的属性,则会共同存在—互补配置。我们也可以通过配置spring.config.location来改变默认配置。java -jar spring-b...

2020-04-22 09:57:13 9881

转载 验证码工具之Kaptcha

验证码的作用防止恶意破解密码、刷票、论坛灌水、刷页。有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登录尝试,实际上使用验证码是现在很多网站通行的方式(比如招商银行的网上个人银行,百度社区),我们利用比较简易的方式实现了这个功能。虽然登录麻烦一点,但是对网友的密码安全来说这个功能还是很有必要,也很重要。但我们还是 提醒大家要保护好自己的密码 ,尽量使用混杂了数字、字母、...

2020-01-14 15:14:00 696

转载 Spring @Conditional注解 详细讲解及示例

前言:@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。@Conditional的定义://此注解可以标注在类和方法上@Target({ElementType.TYPE, ElementType.METHOD})@Retention(RetentionPolicy.RUNTIME) @Documentedpub...

2020-01-14 14:36:43 384

原创 Java生成二维码工具类

1.QRCodeUtil 生成二维码工具类import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.common.BitMatrix;import com....

2020-01-14 11:10:48 1234

转载 Java获取resource下的文件路径

String path = xxx.class.getClassLoader().getResource("targetFile.txt").getPath();#java获取文件目录├── pom.xml├── src│ ├── main│ │ ├── java│ │ │ ├── com│ │ │ │ ├── alipay│ │ ...

2020-01-14 11:07:58 2591

转载 ElasticSearch java API之基本用法

1. Client说明:Client是Elasticsearch所有API的主入口,主要方法有:AdminClient admin() 获取ES管理客户端 GetRequestBuilder prepareGet() 准备一个GET请求 IndexRequestBuilder prepareIndex(String index, String type) 准备一...

2020-01-03 10:46:38 328

原创 Elasticsearch java API之创建索引index和文档类型type操作

1.// 创建client Settings settings = Settings.builder().put("cluster.name", "my_cluster").build(); TransportClient client = new PreBuiltTransportClient(settings) .addTransport...

2020-01-03 10:36:45 3814 4

转载 spring aop 和Transaction一起使用执行顺序问题

在开发中遇到,aop拦截事物方法,先执行了,自己写的切面,Transaction还没提交原因:spring Transaction也是aop实现,spring 先执行了自己定义的切面aop解决方法:设置aop执行顺序,order越小越先执行<tx:annotation-driven transaction-manager="transactionManager" proxy-t...

2019-12-31 17:30:47 2308

原创 spring boot 配置跨域过滤器

SpringBoot 中配置跨域过滤器,在SpringBoot入口Application 中加入以下配置 /** * 跨域过滤器 * * @return */ @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsC...

2019-12-27 14:22:59 878 1

空空如也

空空如也

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

TA关注的人

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