自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 idea集成非maven的web项目

所有配置OK了启动tomcat就可以(http://localhost:8080/springApp/index.html) 记住访问的路径需要带上应用的名称。添加依赖因为你的项目不是maven构建的所以里面依赖的jar包应该会放在项目的lib下面,找到项目的lib添加进来即可,如果已经存在就不做处理。对资源路劲做标记处理(记住他们之间的关系,webContent放入的就是html或是jsp文件)对当前项目里面的java源码位置和前端html或是jsp做资源标记处理(这里非常重要如下面)

2024-05-27 19:54:08 148 1

原创 idea远程断点调试

idea远程调试

2022-12-09 23:13:20 1073

原创 linux(cnetos)安装docket

docket

2022-11-22 23:28:29 264

转载 常用的正则表达式

数字:^[0-9]*$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9]*)$非零开头的最多带两位小数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(\-)?\d+(\.\d{1,2})?$正数、负数、和小数:^(\-|\+)?\d+(\.\d+)?$有两位小数的正实数:^[0-9]+(.[0-9]{2})?$有1~3位小数的正实数:^[0-9]+(

2022-03-05 11:24:17 154

原创 常使用的正则表达式

今天总结下常使用的正则表达式数字:1$n位的数字:^\d{n}$至少n位的数字:^\d{n,}$m-n位的数字:^\d{m,n}$零和非零开头的数字:^(0|[1-9][0-9])$非零开头的最多带两位小数的数字:^([1-9][0-9])+(.[0-9]{1,2})?$带1-2位小数的正数或负数:^(-)?\d+(.\d{1,2})?$正数、负数、和小数:^(-|+)?\d+(.\d+)?$有两位小数的正实数:2+(.[0-9]{2})?$有1~3位小数的正实数:3+(.[0-9]{1

2022-03-05 11:20:18 153

原创 Spring Aop 通过获取代理对象实现事务切换

一 说明在项目中,当使用多数据源的时候,业务复杂的时候,会出现数据源A的方法里面嵌套调用数据源B的方法,这里面涉及到一个事务切换的问题,一般的方法没问题,根据通过aop注解在方法上通过加注解标识指定对应的数据源同时切换到对应的事务管理器,但是有这样的场景就不适用了,比如:数据源A的一个方法里面有调用数据源B的私有方法,这样的情况,如果还是通过方法上的注解就不行了,数据源B的方法也会走数据源A的事务管理器,这样的问题怎么解决呢,答案是:通过spring aop类里面的AopContext类获取当前类的代理对

2021-09-27 13:49:03 476

原创 Feign切换client到okhttp无法生效

场景最近项目中使用了feign当做http请求工具来使用、相对于httpclient、resttemplate来说,fegin用起来方便很多。然后项目有httptrace的需求,需要输出请求日志。所以就开启了feign自己的日志,发现它自带的日志是debug级别才能打印。而且是逐行打印的,看日志非常的不方便。所以需要输出json格式的日志最好。解决步骤引入feign依赖<dependency> <groupId>org.springframework.cloud</

2021-09-02 19:11:58 881

原创 SpringBoot+Redis控制重复提交

一:在实际的开发项目中,一个对外暴露的接口往往会面临很多次请求,我们来解释一下幂等的概念:任意多次执行所产生的影响均与一次执行的影响相同 。按照这个含义,最终的含义就是 对数据库的影响只能是一次性的,不能重复处理。如何保证其幂等性,通常有以下方式:数据库建立唯一性索引,可以保证最终插入数据库的只有一条数据token机制,每次接口请求前先获取一个token,然后再下次请求的时候在请求的header体中加上这个token,后台进行验证,如果验证通过删除token,下次请求再次判断token悲观锁或者乐观

2021-08-31 10:28:34 88

原创 mybatis-plus代码生成器使用

mybatis-plus代码生成步骤引入相关依赖(因为生成代码需要使用模板引擎所以需要添加velocity) <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.4.1</version> </depe

2021-06-24 09:38:34 125

原创 TCP连接出现大量TIME_WAIT的解决方案

一个TCP/IP连接断开以后,会通过TIME_WAIT的状态保留一段时间,时间过了才会释放这个端口,当端口接受的频繁请求数量过多的时候,就会产生大量的TIME_WAIT状态的连接,这些连接占着端口,会消耗大量的资源。面对这种情况 可以通过修改TCP/IP的内核参数,来及时的处理这些状态。netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’执行该命令如果出现了大量的 TIME_WAIT 连接数目的话,如下:FIN_WAIT

2021-05-26 14:33:54 1990

原创 SpringBoot项目编写AOP

在pom里面引入aop依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>目前使用注解方式,也是笔者最喜欢的方式,自定义注解如编写却面代码@Aspe...

2021-05-19 11:10:24 159

原创 java 基于JWT的RSA数据加密生成token

引入maven依赖<!--jwt用户登录数据加密--><dependency> <groupId>io.jsonwebtoken</groupId> <artifactId>jjwt</artifactId> <version>0.9.1</version></dependency><!-- 将RSA加密后的文件bytes 和 string 的相互转化 --...

2021-04-16 20:22:29 1614 1

原创 java文件流操作

public class Atest{public static void main(String[] args) { //创建源文件及复制文件的对象 File sourcefile = new File("E:/duckAndJava/IO/testFile.txt"); File copyfile = new File("E:/duckAndJava/IO/copiedTestFile.txt"); FileInputStream fil.

2021-04-09 17:07:32 262

原创 SpringBoot集成mybatis多数据源

@Configuration @MapperScan(basePackages = {"com.aaa.mapper"},sqlSessionFactoryRef = "ADataSqlSessionFactory") public class A { @Bean(name = "ADataSource") public DataSource dataSource() { try { DruidDataSource...

2021-04-09 17:03:32 130 1

转载 关于项目版本说明

GAGeneral Availability,正式发布的版本,官方开始推荐广泛使用,国外有的用GA来表示release版本。RELEASE正式发布版,官方推荐使用的版本,有的用GA来表示。比如spring。Stable稳定版,开源软件有的会用stable来表示正式发布的版本。比如Nginx。Final最终版,也是正式发布版的一种表示方法。比如Hibernate。RCRelease Candidate,发行候选版本,基本不再加入新的功能,主要修复bug。是最终发布成正式版的前一个版本

2021-04-09 17:01:14 271

原创 java线程池深入分析

ThreadPoolExecutor线程池类参数详解参数 说明 corePoolSize 核心线程数量,线程池维护线程的最少数量 maximumPoolSize 线程池维护线程的最大数量 keepAliveTime 线程池除核心线程外的其他线程的最长空闲时间,超过该时间的空闲线程会被销毁 unit keepAliveTime的单位,TimeUnit中的几个静态属性:NANOSECONDS、MICROSECONDS、MILLISECONDS、SECONDS

2021-03-24 07:43:55 96

原创 非Spring容器对象共享Spring容器对象工具类

@Configurationpublic class SpringUtils implements ApplicationContextAware { private static final Logger logger = LoggerFactory.getLogger(SpringUtils.class); public static String applicationName = null; public static String applicationAbbr = n...

2021-03-14 16:05:09 132

原创 SpringBoot日志配置

1. 在springBoot项目resources下面创建logback-spring.xml 文件对日志文件配置如下<?xml version="1.0" encoding="UTF-8"?> <configuration scan="true" scanPeriod="60 seconds" debug="false"> <contextName>logName</contextName> <property ...

2021-03-14 10:48:03 133 1

原创 mybatis连接mysql连接url配置的坑

一:mybatis连接mysql连接url配置的坑在javaWeb 开发中mybatis是我们常用的ORM框架这里聊下关于连接URL应该注意的问题jdbc:mysql://10.100.4.79:3306/protocol_traces?useUnicode=true&characterEncoding=UTF-8&serverTimezone=GMT%2B8&useSSL=false&allowMultiQueries=true上面参数比较重要的是server.

2020-11-19 16:49:58 2482

原创 mybatis批量处理的使用和核心源码解析

mybatis批量处理一. 今天给大家分享关于mybatis的批量处理使用和源码分析,大家都知道mybatis是对JDBC的封装,其底层使用的还是JDBC, 所以我们先一起来了解JDBC 的批处理代码如下 public static void main(String[] args) { try { Connection connection = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/

2020-10-20 20:40:04 833

原创 给Swagger换上新的皮肤

一: Swagger介绍1. 随着现在微服务的发展和前后端分离的需要,现在接口文档尤其重要,在前后端分离的开发中,前后端联调一个好的接口文档特别重要,今天给大家分享一款前后端分离的接口文档神器,swagger,大家一定想swagger在工作中已经很熟悉了,有什么可介绍的,今天介绍的是在swagger上面做一一层优化的Swagger, 所以叫做给Swagger换一层新的皮肤大多数项目使用swagger的配置如下(但是这种配置页面显示很不友好)<!-- 配置 swagger ui-->

2020-09-11 20:19:56 1006

原创 mysql查询多指标中有任意几个指标满足条数数据,最大数据,和平均数据值

一. 今天分享关于需要查询一些特殊的数据的sql语句这个在面试中是很常见的1. 这是表中的原数据(表名称 city_tag)a) 查询出上面 oc, sc , pc , hc, gc, ghc 6个指标中有任意四个大于或等于50的城市名称,这个是不是不能使用普通的 or 语法了,因为是任意的, 查询语句如下 (这里可以用 if 语句)select city_temp.`name`,SUM(t1+ t2 + t3 + t4 + t5 +t6) as sum_data from ( ...

2020-09-04 20:15:11 774

原创 JSONRPC入参格式定义

JSONRPC入参格式定义1. 现在越来的多的项目使用jsonrpc来传递参数,那什么是jsonrpc它和rest又有什么区别呢,今天笔者和大家一起分享,希望对大家有所帮助

2020-08-30 10:40:30 2164

原创 JDK1.7HashMap 为什么会产生死循环

JDK1.7 HashMap为什么会产生死循环1. 大家没有想到吧,在jdk1.7中HashMap会有死循环的场景出现,当然前提的在并发的情况下,单线程操map是不会有死循环问题的,那HashMap死循环是怎么产生的呢? 先给出结论,在并发下对同一个map进行操作,当map进行扩容的时候就有可能会产生循环依赖疑问,当有调用map的get()方式的时候由于里面存在循环引用就会导致CPU一直到100%,碰到这种情况就只能服务重启了,所以现在大家的项目中一般都使用JDK1.8,有了结论下面我们来一起分析并发下

2020-08-27 20:00:09 1584

原创 数据库连接池的创建原理

现在关于数据库连接池有很多今天,在基于SpringBoot的基础上讲解数据库的连接池

2020-08-23 20:09:42 342

空空如也

空空如也

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

TA关注的人

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