- 博客(59)
- 资源 (7)
- 收藏
- 关注
原创 SpringBoot中实现不同的环境扫描不同的包
前言需求很简单,我不想在idea新建个项目,但是功能同样的类,我需要多份,但是还不想改变名称,原因是太多。我就想新建个包,把他们复制过去,改改配置。但是不改类名,容器扫描会有冲突(除非给其加上别名),因为我的包名和环境名相同,如果能根据环境的不同,容器扫描不同的类最好不过。需求解决需求修改对ComponentScan的配置@ComponentScan( value = "com.delicacy", excludeFilters = {@ComponentScan.F
2022-02-06 17:13:21
832
原创 DispatcherServlet分析
初始化Servlet初始化Servlet过程HttpServletBean: init|FrameworkServlet: initServletBean| FrameworkServlet: initWebApplicationContext|DispatcherServlet: onRefresh|DispatcherServlet: initStrategies初始化策略对象(以便servlet使用)protected void initStrategies(Appli
2021-07-27 11:24:39
232
原创 Uniapp(uView)小程序开发(VSCode)
工具VSCode插件gitignoreuniapp-snippetuview-snippetuni-app安装全局安装vue-clinpm install -g @vue/cli创建uni-app使用正式版(对应HBuilderX最新正式版)vue create -p dcloudio/uni-preset-vue demouView安装安装yarn add uview-ui更新yarn update uview-ui安装其他yarn add sass sass-l
2021-07-23 10:43:45
1770
原创 SpringBoot启动Tomcat分析
初始化Servlet初始化Servlet过程HttpServletBean: init|FrameworkServlet: initServletBean| FrameworkServlet: initWebApplicationContext|DispatcherServlet: onRefresh|DispatcherServlet: initStrategies初始化策略对象(以便servlet使用)protected void initStrategies(Appli
2021-07-22 15:49:09
135
原创 Request和Response分析
Request过程Handler实际执行请求(request)DispatcherServlet: doDispatch|AbstractHandlerMethodAdapter: handle|RequestMappingHandlerAdapter: handleInternalRequestMappingHandlerAdapter: invokeHandlerMethod|ServletInvocableHandlerMethod: invokeAndHandle|Invoca
2021-07-22 15:41:25
174
原创 RequestMappingHandler分析
获取BeanDefinition信息并注册AbstractApplicationContext: refresh|AbstractApplicationContext: invokeBeanFactoryPostProcessors|PostProcessorRegistrationDelegate: invokeBeanDefinitionRegistryPostProcessors|BeanDefinitionRegistryPostProcessor: postProcessBeanDe
2021-07-20 18:06:29
188
原创 EnableWebMvc注解分析
EnableWebMvc@Retention(RetentionPolicy.RUNTIME)@Target(ElementType.TYPE)@Documented// 引入DelegatingWebMvcConfiguration类@Import(DelegatingWebMvcConfiguration.class)public @interface EnableWebMvc {}DelegatingWebMvcConfiguration@Configurationpublic
2021-07-20 16:56:13
336
原创 Autowired注解分析(AutowiredAnnotationBeanPostProcessor)
AutowiredAnnotationBeanPostProcessor如何注入容器SpringApplicationprotected ConfigurableApplicationContext createApplicationContext() { ... return (ConfigurableApplicationContext) BeanUtils.instantiate(contextClass);}AnnotationConfigApplicationContextpubl
2021-07-06 16:43:07
431
原创 关于GET和POST方式传递数组处理
@RestControllerpublic class GetPostController { @GetMapping("say") public String say(@RequestParam String msg) { return msg; } @GetMapping("sayList") public String sayList(@RequestParam List<String> msg) { retu
2021-05-08 18:06:10
976
1
原创 排序二叉树删除操作
public class Solution { static class TreeNode { int val; TreeNode left; TreeNode right; TreeNode(int x) { val = x; } } public TreeNode deleteNode(TreeNode root, int key) { if (root == null) { r
2021-01-21 14:08:49
251
1
原创 nginx+lua+GraphicsMagick生成实时缩略图-Permission denied问题
前言最近在完成nginx+lua+GraphicsMagick生成实时缩略图的过程,碰到很头痛的的问题。在nginx/logs/error.log文件中报错如下:sh: /usr/local/GraphicsMagick/bin/gm: Permission denied于是乎,便想尽一切办法,给能加和该加权限的目录和文件加上最高权限,但是依然还是报错,缩略图效果就是不出来。最终,摸索好久,还是找到问题所在。解决在nginx的conf文件中,修改nginx.conf# 第一行user roo
2020-08-19 10:12:10
233
原创 批量执行cmd脚本和bat脚本(windows)
前言项目开发中很多情况下,我们需要执行多个脚本,尤其集群环境下,像启动nacos集群,就需要对多个cmd脚本启动,很是麻烦。于是,我对网上针对批处理指令进行了收集和整理,还有测试。如下几个亲测有效,可以参考下。针对cmd脚本第一种@echo offstart call ./nacos/bin/startup.cmd -m clusterstart call ./nacos-2/bin/startup.cmd -m clusterstart call ./nacos-3/bin/startup.
2020-07-10 10:24:44
6847
原创 SpringBoot Security的自定义异常
access_denied 方面异常原异常{ "error": "access_denied", "error_description": "不允许访问"}现异常{ "success": false, "error": "access_denied", "status": 403, "message": "不允许访问", "path": "/user/get1", "timestamp": 1592378892768}实现p
2020-06-18 17:05:12
7515
1
原创 优化Response异常处理2(使用jsr303参数校验)
Response异常处理@Slf4j@RestController@Validatedpublic class ValidController { @PostMapping("validUser") public String validUser(@RequestBody @Valid User user){ return "success"; }...
2020-03-11 16:11:30
449
原创 优化Response异常处理(使用jsr303参数校验)
前言我们常见异常返回如下{"timestamp":"2020-03-11T07:33:39.442+0000","status":400,"error":"Bad Request","message":"xxxxxxxx","path":"/validParams"}在尤其在我们是用@Valid和@Validated注解的时候,message信息是不友好的,能不能显示我们希望的异常数据呢?...
2020-03-11 15:50:59
836
1
原创 关于在el-table中使用el-popover碰到最后一行显示问题和解决
问题在使用element-ui过程中碰到个问题,想在el-table中实现点击表格出现浮框,显示内容,通过文档查到了el-popover这个控件,在刚使用的时候如下方所写,但是在使用的过程中,发现一个问题,table中最后一行的表格点击怎么都不显示,于是换了一种写法,解决了问题。 <el-table-column label="投诉内容" align="center" min-widt...
2019-12-31 11:28:47
3324
1
原创 关于Vue的process.env.设置全局变量不生效问题
前言在.env.development文件中设置全局变量的时候发现并没有生效,问题查了好久,终于在https://segmentfault.com/q/1010000016412563?sort=created找到问题所在,只有申明前缀为VUE_APP_的配置才能生效。问题所在在这个文件下面@vue/cli-service/lib/util/resolveClientEnv.js有如下内...
2019-12-20 16:33:52
21206
原创 关于SpringBoot Security oauth2使用Cors问题(登出无效)
前言 : /logout at position 1 of 10 in additional filter chain; firing Filter: 'WebAsyncManagerIntegrationFilter' : /logout at position 2 of 10 in additional filter chain; firing Filter: 'SecurityConte...
2019-12-09 16:46:18
1918
1
原创 SpringBoot Security的oauth2四种授权模式使用
密码模式localhost:8080/oauth/token?client_id=client_id_1&client_secret=123456&grant_type=password&username=xiaomi&password=123456{ "access_token": "1e8ada36-ed82-49fc-9ca7-ff897d4bf2...
2019-12-04 14:32:04
4969
3
原创 SpringBoot Security的oauth2 sso的实现和使用
sso oauth2 的使用oauth获取token1、 页面输入如下地址:http://localhost:8000/oauth/authorize?response_type=code&client_id=client_id_1&redirect_uri=http://localhost:8001/code&scope=write2、 拦截跳转到登陆页面:...
2019-12-04 14:21:43
2316
原创 关于docker安装rocketmq(foxiswho/rocketmq:broker 4.5.2)
拉取镜像 docker pull foxiswho/rocketmq:server docker pull foxiswho/rocketmq:broker docker pull styletang/rocketmq-console-ng使用镜像1、启动serverdocker run -d -p 9876:9876 --name rmqserver foxiswho/...
2019-10-08 15:56:19
3223
原创 idea远程调试
前言idea是java非常火的开发利器。我们有时候会碰见这样的问题:本地代码跑的一切ok啊,但是一到测试环境,怎么就出现问题。来吧!体验非常棒的远程调试。idea远程调试1、项目采用如下的启动方式(监控端口是8983和下图监控端口一致)nohup java "-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8983...
2019-05-23 10:56:55
237
原创 选择排序、冒泡排序、插入排序、快速排序、希尔排序、归并排序、堆排序和希尔排序的java实现比较
几种排序实现代码public class ArraySort { public static void main(String[] args) { Random r = new Random(); int[] arr = new int[100]; for (int i = 0; i < arr.length; i++) { ...
2019-03-25 14:08:56
520
原创 windows下快速搜索包含关键字的文件
问题描述 在我们开发过程中,我们是可以通过开发工具(像idea,eclipse来根据关键字查询到所需要的文件,但是我们不是希望所有的代码都导入开发工具中,一则浪费之间,二则导入后常常报有一堆错误,这不是我们希望的,所以解决方案还是需要从windows系统中提供索引开始。解决方案效果秒出!!!...
2019-02-12 14:44:08
9524
3
原创 关于redisson锁的使用和理解
对于分布式锁的要求互斥性:分布式锁需要保证在不同节点的不同线程的互斥。这是最根本的。可重入性:同一个节点上的同一个线程如果获取了锁之后也可以再次获取这个锁。锁超时:和本地锁一样支持锁超时,防止死锁。高可用:加锁和解锁需要高效,同时也需要保证高可用防止分布式锁失效,可以增加降级。支持阻塞和非阻塞:和 ReentrantLock 一样支持 lock 和 trylock 以及 tryLock...
2019-01-17 15:20:05
30824
12
原创 使用post多文件上传并能传参
需求描述 我们常用的就是form表单实现文件上传,通过一个submit的按钮提交form即可。但是,我们常会发现这种方式既不灵活,比如:我们希望在提交表单之前对参数进行加工;对上传文件进行判断;后台我们希望参数可以是json对象就好了,而不是每次request.getParameter()。痛点解决 HTML部分 <input type="file" multiple="multi...
2019-01-02 10:38:12
2548
原创 SpringBoot2.0的@Cacheable(Redis)缓存失效时间解决方案
问题 @Cacheable注解不支持配置过期时间,所有需要通过配置CacheManneg来配置默认的过期时间和针对每个类或者是方法进行缓存失效时间配置。解决 可以采用如下的配置信息来解决的设置失效时间问题配置信息 @Bean public CacheManager cacheManager(RedisConnectionFactory redisConn...
2018-09-05 18:29:35
47496
13
原创 SpringCloud中config降低远程配置文件优先级,实现指令覆盖配置文件
spring-cloud-context-1.3.2.RELEASE.jar org.springframework.cloud.bootstrap.config.PropertySourceBootstrapConfigurationprivate void insertPropertySources(MutablePropertySources propertySources, ...
2018-07-23 16:00:06
3008
原创 SpringBoot中实现Spring容器中注入类型相同但名不同Bean
@Bean(autowire = Autowire.BY_NAME,value = "kaptchaProducer") public Producer kaptchaProducer() { Properties kaptchaProperties = new Properties(); kaptchaProperties.put("kaptcha...
2018-06-06 18:53:25
18722
1
原创 SpringCloud Feign的重试功能理解
Feign默认没有开启重试spring-cloud-netflix-core-1.4.3.RELEASE.jarorg.springframework.cloud.netflix.ribbon.support.AbstractLoadBalancingClient@Bean@ConditionalOnMissingBeanpublic Retryer feignRetryer() {...
2018-06-03 00:49:41
2666
原创 并发测试工具类
前言:以往我们测试并发就是for循环创建线程,去跑程序,但那真的是在模拟并发环境吗?其实并不是,并发环境的真实场景应该是多个线程同时跑,同时就很重要。我结合java函数编程写了如下测试类,仅供参考。package com.delicacy.oatmeal.idworker;import java.util.concurrent.CountDownLatch;import java...
2018-04-28 00:14:54
1766
原创 二进制一些问题整理
1、二进制的加减乘除的计算 2、二进制的负数表示 补码表示法:取反加一 比如:-1 :1的原码是00000001,取反11111110,加一就是11111111 -127:127的原码是11111110,取反00000001,加一就是100000003、为什么负数采取这种奇怪的表示呢 计算机只能做加法, 5-3其实本质上是5+(-3) 00000101+1111...
2018-04-28 00:07:33
1580
原创 SpringCloud中Service类注入同服务下(@Feign)api接口不走http的解决方案
在spring cloud项目中经常会有一个服务需要依赖另外一个服务的api包,从而使用其接口实现。在我们使用@Feign的时候,其实是用本质上采用的是http调用摸个服务下的其接口实现,那么http调用的话,就会多产生一个线程,如图测试,2018-04-22 00:37:26.517 INFO 24548 --- [nio-9999-exec-4] c.d.c.eureka.disco...
2018-04-22 00:41:24
6696
原创 idea丢失工作空间目录如何解决
有的时候也不知道怎么操作的,idea工作空间的目录就不见了,如图 对比其他的完整项目发现缺少的一些文件或者内容,只要加上就可以看到想要的东西。1、找到项目的文件 .idea\modules.xml 2、添加如下内容 <module fileurl="file://$PROJECT_DIR$/.idea/delicacy_workspace.iml" filepath="$...
2018-04-16 22:14:52
6052
1
原创 lamdba函数编程实例及工具类
1、方法参数以往都是类,变量属性,但是并没有当函数作为入参,而函数入参是有必要的 对于有些方法入参其实只需要一个函数操作后的结果,我不需要知道什么参数类型啊 大大减少了很多不必要的代码,什么创建匿名类啊 但是上手需要一段时间,改变编程习惯和思维需要一段时间package com.delicacy.oatmeal.java.lamdba;import lombok.Da...
2018-04-15 23:18:49
218
原创 volatile对变量可见性和非原子性测试
1、关于valitile对变量的可见性测试package com.delicacy.oatmeal.java.volatiletest;/** * valitile dome * volatile 关键字保证了操作的可见性 * valitie 最好用于一写多读的情况下 * {@link VolatileDemo2} 测试volatile不能保证对变量的操作是原子性 * @au...
2018-04-15 14:07:31
1051
原创 解决传输文件突然终止而造成文件不可删除的问题
问题缘由我常有将一些非常大的文件从U盘或者硬盘或者其他,传到另外一个盘,但是由于文件过大,传输过程很慢,中途会有可能断电没有正常传输,最后导致文件或文件夹无法删除,试过网上特有的删除工具也是无法删除,360强制删除试过,但是效果也不理想。问题原因断电导致文件传输非正常取消,文件字节缺失。解决方法传输所在的盘右击 属性–工具–检查–扫描驱动器(会将整个盘进行扫描并修复,关键...
2018-02-15 18:46:43
5885
2
原创 eclipse的实用插件(OpenExplorer:开发文件所在位置,Lombok:开发利器)
OpenExplorer这个插件解决eclipse不能打开文件所在文件夹问题,把它放到plugins中,重启eclipse便可以使用。Lombok这个东西会大大提高你的编码效率。说一个开发常见的痛点,实体创建的时候,虽然我们现在基本都是快捷键自动生成,但是一堆getter 、setter方法充斥着一个类大半个内容,如果你要是改了某个属性,是不是要重新敲一遍快捷键呢。 1、Lomb
2018-01-21 15:28:32
257
原创 Plugin execution not covered by lifecycle configuration 问题解决
我从github上clone guava源码,eclipse会报错,错误内容如下:Plugin execution not covered by lifecycle configuration: org.apache.felix:maven-bundle-plugin:2.5.0:manifest (execution: bundle-manifest, phase: process-classes
2017-05-28 17:50:36
1583
apache-tomcat-6.0.30资源下载
2016-01-06
java反编译
2014-09-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人