java
有聊数太阳
这个作者很懒,什么都没留下…
展开
-
基于SpringAOP的权限管理
springAOP使用原创 2022-07-12 15:04:32 · 369 阅读 · 0 评论 -
springboot AOP异常执行
1原创 2021-05-17 12:17:15 · 797 阅读 · 0 评论 -
springboot 整合 rabbitMQ
33333springboot 整合 essrpingboot整合 sqlServerspringboot 连接百度富文本java excel 操作java生成pdf签名springboot 拦截器 静态资源springboot +mybatisplus原创 2021-05-06 10:43:02 · 437 阅读 · 0 评论 -
java实现 lru,lfu
lru实现public class LRUTest { @Data static class Node { private Object key; private Object value; //前指针 private Node pre; //后指针 private Node prep; public Node(Object key, Object value) {原创 2021-04-26 10:11:22 · 195 阅读 · 0 评论 -
spring将文件压缩并下载
public void load(HttpServletRequest request, HttpServletResponse response) throws IOException, InterruptedException { //压缩源文件路径 String zipSourcePath = ContextLoader.getCurrentWebApplicationContext().getServletContext().getRealPath("/") + "/原创 2021-04-25 18:09:17 · 401 阅读 · 0 评论 -
map存储key或value设置为null
static class Student { int age; String name; public Student(int age) { this.age = age; this.name = "学生" + age; } } public static void main(String[] args) { Map<Integer, Student...原创 2021-04-19 17:32:46 · 2144 阅读 · 0 评论 -
springboot war包日志
在项目的application.properties文件中加上:logging.config=classpath:log4j-spring.xml在resources目录下添加log4j-spring.xml 文件,注意<?xml version="1.0" encoding="UTF-8"?><!--Configuration后面的status,这个用于设置log4j2自身内部的信息输出,可以不设置,当设置成trace时,你会看到log4j2内部各种详细输出-->&原创 2021-04-14 17:38:10 · 1028 阅读 · 0 评论 -
springboot 前后端分离解决跨域问题
@Configurationpublic class CrosConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); // 1 corsConfiguration.addAllowedHeader("*原创 2021-04-13 16:18:07 · 140 阅读 · 0 评论 -
json转化序列化
“InGroupDate” -> “2019-07-01”“InCompanyDate” -> “2019-07-01”“EmpType” -> “正式员工”“EmpStatus” -> “在职”“FlagDeleted” -> “0”类似map的数据结构,可以先用 String str = objectMapper.writeValueAsString(obj2);将其转化为json类型,Type result = objectMapper.read原创 2021-04-12 13:33:36 · 109 阅读 · 0 评论 -
项目前后端分离部署docker
1.确保安装了docker2.将要发布的文件cmd进入文件目录3.输入命令行docker build -t abc:v1.6 .构建一个abc1.6的docker镜像docker push abc:v1.6将镜像推送到docker服务器进入kuboard 找到自己项目的 命令,改正自己当前的版本,在linux服务器里直接运行。出现successful process ,就代表成功了...原创 2021-04-08 17:59:02 · 199 阅读 · 0 评论 -
springboot延时队列
延迟队列使用时,相当于在开启一个新的线程,在没有到达指定时间时,这个线程会一直阻塞,直到到了指定时间,队列会释放当前的数据,并继续阻塞到下一个数据@Componentpublic class DelayedMessageUtils implements ApplicationRunner { //在容器启动时自动执行 private volatile boolean interrupt; @Autowired private ThreadPoolExecutor thre原创 2021-04-08 11:00:31 · 1533 阅读 · 0 评论 -
根据文件url获取字节码byte[]
根据url获取字节码 public byte[] read(String fileUrl) throws IOException { URL url = new URL(fileUrl); byte[] buffer = new byte[1024]; HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET")原创 2021-04-07 14:43:27 · 2155 阅读 · 0 评论 -
fastjson bug
public static void main(String args[]) { Student s1 = new Student(); s1.setName("[{\"category\":1,\"iscover\":0,\"url\":\"http://cdzystatic.centalinely.com.cn//Images/20171128/102938_65871f57-8be3-4197-a897-68ef3d84f687.jpg\"},{\"category\":1,\"isc原创 2021-03-22 15:55:45 · 300 阅读 · 0 评论 -
ThreadLocal示例与一些常见问题
1.ThreadLocal 是什么?ThreadLocal用于创建线程的本地变量,其他的线程是读取不了不是该变量。对于同一个static ThreadLocal,不同线程只能从中get,set,remove自己的变量,而不会影响其他线程的变量。2.原理_源码阅读ThreadLocal有两个方法get(Object)和set(Object) public void set(T value) { Thread t = Thread.currentThread();原创 2021-03-22 11:17:10 · 423 阅读 · 0 评论 -
List流操作记录
1.在list中获取指定属性值的public class Studnt{private String name;private Integer age;}Studnt portInfo1 = list.stream().filter(s -> s.getPortName().equals(portName)).findAny().get();获取某个属性的所有队列List<PortInfo> list2 = list.stream().filter(e -> e原创 2021-02-25 10:43:20 · 136 阅读 · 0 评论 -
springboot项目war包发布拦截器+静态资源访问
拦截器代码package com.centaline.employpay.interceptor;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.原创 2021-02-24 18:16:56 · 205 阅读 · 0 评论 -
spring boot项目war包打包
1.在pom文件里添加warpom的 中添加项目名称pom添加:org.springframework.bootspring-boot-starter-tomcatprovidedjavax.servletjavax.servlet-api3.1.0provided4 改动启动类 继承SpringBootServletInitializer,重写configure方法@SpringBootApplication@ServletComponentScanpu原创 2021-01-05 17:42:05 · 118 阅读 · 0 评论 -
手写rpc框架(2):利用netty进行底层连接
上一篇我们通过socket对两个系统进行了通信,现在我们通过netty来对上一段demo的socket部分进行更换。netty封装java socket noi,更好用。可以通过这个栗子简单的学习一下netty的基本使用。netty示例,亲测可用我们的需求是将 comsumer和provider 之间建立起netty通讯。在pom里添加netty依赖 <dependency> <groupId>io.netty</groupI原创 2020-12-31 17:18:54 · 177 阅读 · 1 评论 -
jackson记录
jackson 获取json 某个属性 JsonNode root = objectMapper.readTree(result); String str = root.get("media_id").toPrettyString();将json字符串转化为类 T result = objectMapper.readValue(responseEntity.getBody(), type);原创 2020-11-05 11:40:13 · 182 阅读 · 0 评论 -
get和post调用的泛型形式
get调用,需要的参数都在url里,所以函数所需的参数只需要两个,一个url,一个返回数据。type为返回数据的类型 @Autowired OkHttpClient okHttpClient; @Autowired ObjectMapper objectMapper; public <T> T getMulti(String url, Class<T> type) { T result = null; Requ原创 2020-06-23 10:04:05 · 647 阅读 · 0 评论 -
springboot2.x拦截器与静态资源
拦截器不拦截静态资源拦截器代码项目目录@Configurationpublic class WebAppConfig extends WebMvcConfigurationSupport { @Bean public HandlerInterceptor getMyInterceptor() { return new WeChatLoginInterceptor(); } @Bean public HandlerInterceptor ge原创 2020-05-14 14:45:35 · 281 阅读 · 0 评论 -
springboot 前端只显示源码
今天遇到一个有趣的问题,spring boot写好,访问的时候出现前端源码。检查urllocalhost:8080/make-chat/make.json?applicationid=123456发现问题了嘛?make后面有一个json,导致返回的变成源码,把.json去掉就能正常访问了。...原创 2020-05-14 14:40:07 · 227 阅读 · 0 评论 -
手写rpc框架(3):建立注册中心
注册中心一般有zookeeper,eurekae这篇博客讲得很好zookeeper既然是手写,也写一个注册中心吧。原理这两篇博客写得很好添加链接描述添加链接描述首先,注册中心要有一张注册表,每个服务启动的时候,需要向注册中心发送消息:我启动了,有实例了。同事,服务还需要与注册中心保持心跳连接,如果心跳连接失败,则删除服务实例。之后再通过注册中心调用,对其他应用提供服务。注册中心...原创 2020-05-08 10:37:50 · 405 阅读 · 0 评论 -
手写rpc框架(1):能运行就行
举个例子,什么是rpc。首先,A,B是两个系统相互独立的系统。现在,B系统需要A系统的数据,一般的做法是A系统提供一个a接口,B系统通过resteplate,okHttpClient 等方法,通过http调用,获取A系统的数据。rpc框架的目的就是要让两个系统的调用变得简单,B系统调用A系统,就像调用本地的类一样快捷。我们先使用socket进行连接,如果不太熟悉socket通讯,可以看这一...原创 2020-04-24 10:35:40 · 113 阅读 · 0 评论 -
利用泛型类发起get,post请求
在企业微信开发中,会发起大量的get和post请求,可以使用这种方法,精简大量代码get请求参数 url地址,返回类的类型 import com.alibaba.fastjson.JSONObject;import com.centaline.webapi.weixin.service.weixin.dto.WeixinBaseResponseDto;import com.faste...原创 2020-04-15 09:34:08 · 481 阅读 · 0 评论