spring
文章平均质量分 76
愤怒的苹果ext
一个网恋失败17次后,毅然选择和游戏厮守终生的男人。本人擅长Ai、Fw、Fl、Br、Ae、Pr、Id、Ps等软件的安装与卸载,精通CSS、JavaScript、PHP、ASP、C、C++、C#、Java、Ruby、Perl、Lisp、python、Objective-C、ActionScript、Pascal等单词的拼写,熟悉Windows、Linux、Mac、Android、IOS、WP8等系统的开关机.
展开
-
Spring MVC(Boot) Servlet 3.0异步处理,DeferredResult和Callable(续篇)
我直接在我创建线程池的地方增加了一个BeanName。只要有对于的配置,就可以初始化线程池了,可以看出。这块是Spring Boot自动装配的代码。,还真的有自动配置异步的方法。的对象,那就能自动配置异步处理的线程池了。框架自动配置了,那异步可以自动配置吗?是自动配置线程池的配置类。只要有Bean的名称是。在约定配置这块很智能。原创 2023-04-17 20:00:00 · 579 阅读 · 1 评论 -
Spring Security loadUserByUsername传递多个参数
我们使用Spring Security做登录,一般来说都要实现接口,代码如下。}是的,方法仅有一个username参数,如果我们是做SaaS平台,多渠道登录,名称允许重复的话,这可怎么玩儿。下面提供2种方法。新建,其实是把代码抄下来,修改了和。把的details属性作为扩展参数传入新的方法。...原创 2022-08-16 13:24:36 · 3839 阅读 · 0 评论 -
多字段关联校验
目录背景代码实现最终效果结语背景我们用了Spring框架后,在校验前端参数的时候,一般会使用@NotNull、@NotBlank等注解,这样就不用写业务代码,判断这个字段了,省力,又简洁优雅,对真实业务处理的代码无侵入。但是多个字段关联的业务就比较麻烦,比如下列场景。public class TestValidate { /** * 姓名 **/ @NotBlank(message = "姓名必填") private String name;原创 2022-03-13 14:45:57 · 1008 阅读 · 0 评论 -
Spring MVC(Boot) Servlet 3.0异步处理,DeferredResult和Callable
目录简介使用DeferredResultCallable小结参考简介自Servlet 3.0支持异步处理,有什么妙用呢?以Tomcat为例,我们可以使用更少的Tomcat线程处理更多的任务。当有一个请求到达时,我们用另一个用户线程去处理任务,使Tomcat容器线程得以空闲,可以去为其他请求服务。Spring几乎作为Java EE开发的必备框架,在这块也是有支持的。我们看下官方文档:https://docs.spring.io/spring-framework/docs/5.2.19.RELEAS原创 2022-03-20 11:04:10 · 1727 阅读 · 0 评论 -
cglib获取不到接口注解
@Target({ElementType.TYPE})@Retention(RetentionPolicy.RUNTIME)@Documentedpublic @interface HbServerName { /** * 服务名称 * **/ String value() default ""; /*** * 地址前缀 * */ String serverUrlPrefix() default "";}...原创 2022-02-15 10:22:58 · 438 阅读 · 0 评论 -
解决Redis java.lang.IllegalStateException: Cannot connect, Event executor group is terminated
目录问题产生背景问题分析解决方案问题产生背景写了个zset的队列(因为公司redis还是3.2.9的,没法用stream),然后有个线程一直轮询取数。然后我关闭应用时可能会报Cannot connect, Event executor group is terminated,如下所示。 Exception in thread "loop-redis-queue" java.lang.IllegalStateException: Cannot connect, Event execut原创 2022-02-13 14:29:21 · 10578 阅读 · 0 评论 -
The request was rejected because the URL contained a potentially malicious String “//“
报错详情org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String “//”at org.springframework.security.web.firewall.StrictHttpFirewall.rejectedBlacklistedUrls(StrictH原创 2022-02-07 19:19:15 · 4382 阅读 · 5 评论 -
spring自定义标签
一、简介spring在解析标签时分为默认标签和自定义标签两种;默认标签如bean标签,自定义标签如:aop、tx(关于事物的)、dubbo(rpc框架的)。在一些复杂的业务场景下,普通bean无法满足需求;spring提供了可扩展Schema的支持,只需要我们实现部分逻辑就可以为我们解析自定义标签;spring自定义标签用于配置较为复杂或者需要丰富的控制的时候。二、使用1、创建一个想要...原创 2019-07-20 00:54:58 · 328 阅读 · 0 评论 -
@EventListener注解使用及源码解析
一、简介@EventListener是一种事件驱动编程在spring4.2的时候开始有的,早期可以实现ApplicationListener接口, 想了解下ApplicationListener的可以参考下这篇文章https://blog.csdn.net/baidu_19473529/article/details/86683365Spring为我们提供的一个事件监听、订阅的实现,内部实现原...原创 2019-07-29 15:54:20 · 40368 阅读 · 8 评论 -
ImportBeanDefinitionRegistrar
一、简介ImportBeanDefinitionRegistrar接口是也是spring的扩展点之一,它可以支持我们自己写的代码封装成BeanDefinition对象,实现此接口的类会回调postProcessBeanDefinitionRegistry方法,注册到spring容器中。二、使用接口的使用很简单,使用@Import注解到如这个类即可。我先新建一个Configuratio...原创 2019-05-27 22:46:45 · 19231 阅读 · 18 评论 -
ApplicationListener
一、简介ApplicationListener接口是spring框架为开发者提供的一个扩展点。一般来说,一个我们新建一个项目,在启动时就需要初始化一些东西的(比如数据库的数据,一个对象,或者是某些配置)。并且使用ApplicationListener后可以拿到spring容器,功能是异常强大,好用。二、使用...原创 2019-02-21 22:50:37 · 8613 阅读 · 0 评论 -
spring aop Null return value from advice does not match primitive return type for总结
Null return value from advice does not match primitive return type for这个一般都是发生在代码做了环绕后。找到源码抛出这个异常的位置(我是全局搜索的我使用的cglib动态代理的代码)CglibAopProxy#processReturnType: private static Object processReturnTyp...原创 2018-12-11 22:41:49 · 19620 阅读 · 10 评论 -
spring报错parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]
一、 报错如下:org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from ServletContext resource [/WEB-INF/applicationContext.xml]; nested exception is java.io.F...原创 2018-09-30 00:06:31 · 26883 阅读 · 17 评论 -
手写精简版的springMVC框架
整个设计流程图一、web.xml配置servlet(启动时运行级别的servlet)<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app>...原创 2018-03-04 16:15:31 · 422 阅读 · 0 评论 -
spring动态调用方法
有的时候为了程序的灵活性,需要根据参数动态的调用方法。代码框架大致spring为主,下面是具体代码:接口: 实现类(实现类中有一个从spring容器中取的对象) 这是最初我直接用反射去调用的代码: Object obj = Class.forName("com.rw.article.service.pay.impl.WithdrawalsServiceProxyImpl"...原创 2018-03-04 09:42:49 · 7271 阅读 · 5 评论 -
eclipse导入spring源码二(丢失的spring-asm-repack和spring-cglib-repack)
在上一篇eclipse导入spring源码一 中已经完成一部分了,但是整个项目代码依然有报错: 很明显的错误,就是找不到jar(spring-asm-repack-5.0.1.jar和spring-cglib-repack-3.1.jar)包,查看源文件的确没有这2个包。那么怎么得到这2个包呢?我找过maven仓库也没找到,最后终于知道了可以通过jar命令编译spring-core包得到这2...原创 2018-03-11 18:30:14 · 2578 阅读 · 0 评论 -
tomcat websocket WsFrameServer内存溢出
WebSocket连接上了300以后JVM就报内存溢出了,把JVM溢出的堆栈日志导了出来这是详情: 648 instances of "org.apache.tomcat.websocket.server.WsFrameServer", loaded by "java.net.URLClassLoader @ 0x80f923a8" occupy 1,598,429,376 (96.4...原创 2018-03-18 16:11:40 · 5497 阅读 · 9 评论 -
dubbo调用出现Caused by: java.lang.AbstractMethodError
dubbo消费者调用提供者出现:java.lang.AbstractMethodError: com.xxx.xxx.service.impl.VersionManageServiceImpl.findVersionManageByPageCode(Ljava/lang/String;)Lcom/xxx/xxx/entity/VersionManage;在网上搜了一大片,基本上都说是...原创 2018-05-12 00:07:10 · 8700 阅读 · 0 评论 -
FactoryBean详解
一、首先来看看FactoryBean与BeanFactory:这个两个拼写起来很相似,比较容易搞混,是反过来的。FactoryBean : 是一个Java Bean,但是它是一个能生产出当前对象的工厂Bean,它的实现和工厂模式及修饰器模式很像。BeanFactory:这就是一个Factory,是整个Spring IOC容器的核心内容,生产并存储很多的bean。二、应用现在就...原创 2018-06-03 18:55:18 · 2251 阅读 · 0 评论 -
ApplicationContextAware原理
1、紧接上文BeanPostProcessor处理器 的应用,ApplicationContextAware也可以说是spring框架中对BeanPostProcessor的一个应用,还包括一些其他的Aware,如BeanFactoryAware、ResourceLoaderAware、ServletContextAware等等。2 、先来一段代码看看@Component pub...原创 2018-07-16 22:08:38 · 2908 阅读 · 2 评论 -
springMVC重定向后中文乱码
使用springMVC的redirect然后后面拼接参数重定向到别人的服务里面,昵称传过去的时候发现都是问号?(有几个中文就几个问号)。发现这种情况后在本地测试了下,然后抓包查看到如下图(用百度测了下): 结果就是url加了中文就会有那个问号。解决方案: 第一种: @RequestMapping("/getAccessToken") publi...原创 2018-07-10 22:29:21 · 1566 阅读 · 0 评论 -
BeanPostProcessor处理器
一、简介BeanPostProcessor处理器是Spring开放式架构中必不可少的亮点之一,给足用户权限根据自己的业务需求去更改或者扩展Spring,当然除了BeanPostProcessor外还有其他PostProcessor。BeanPostProcessor在调用初始化方法前及调用初始化方法只会分别调用它的postProcessBeforeInitialization和postPro...原创 2018-07-15 22:29:10 · 597 阅读 · 0 评论 -
BeanFactoryPostProcessor详解
一、简介BeanFactoryPostProcessor接口与 BeanPostProcessor接口类似,可以对bean的定义(配置元数据)进行处理;也就是spring ioc运行BeanFactoryPostProcessor在容器实例化任何其他的bean之前读取配置元数据,并有可能修改它;如果业务需要,可以配置多个BeanFactoryPostProcessor的实现类,通过”orde...原创 2018-07-22 10:05:10 · 24502 阅读 · 12 评论 -
eclipse导入spring源码一
一、准备的软件安装git或者GitHub(不是必须的可以直接在GitHub网页上选择版本下载压缩包,地址https://github.com/spring-projects/spring-framework/ ,我选择的是v3.2.18.RELEASE版本) 安装gradle(把源码转成eclipse工程用的,下载地址 : https://gradle.org/releases/)二...原创 2018-03-11 17:48:37 · 1261 阅读 · 0 评论