![](https://img-blog.csdnimg.cn/direct/22d55f455e3748c99ab17645e33cb87e.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Spring
文章平均质量分 64
欢迎来学习对 Spring 深入解析与实战经验,让我们一起探索 Spring 的奥秘,打造更棒的应用!
Coding宇航员
资深Java攻城狮,阿里D11守卫者。将我踩过的坑,化为你飞行的推进器。
也喜欢折腾 Python、C++、Js 等等,欢迎指教。
展开
-
spring 常用注解
Spring部分1.声明bean的注解@Component 组件,没有明确的角色@Service 在业务逻辑层使用(service层)@Repository 在数据访问层使用(dao层)@Controller 在展现层使用,控制器的声明(C)2.注入bean的注解@Autowired:由Spring提供@Inject:由JSR-330提供@Resource:由JSR-250提供...转载 2019-04-25 10:17:42 · 84 阅读 · 1 评论 -
解决WebMvcPatternsRequestConditionWrapper.getPatterns NullPointerException 启动失败
Spring Boot2.6之后,swagger的包,WebMvcPatternsRequestConditionWrapper.getPatterns NPE 异常文章目录Spring Boot2.6之后,swagger的包,WebMvcPatternsRequestConditionWrapper.getPatterns NPE 异常报错现象堆栈截图排查过程解决方案报错现象堆栈2022-03-13 02:40:28.000 ERROR [16312] --- [ main]原创 2022-03-13 03:04:59 · 8484 阅读 · 8 评论 -
AspecJ 无法拦截接口上的方法加注解
Controller 接口上的方法加注解无法被 AspecJ 拦截AspecJ 无法拦截接口上的方法加注解,只能作用在实现类的方法上,这时需要利用 MethodInterceptor 来实现。 @Bean public Advisor methodPointcutAdvisor() { AopTestMethodPointcutAdvisor advisor = new AopTestMethodPointcutAdvisor(); advisor.setAdvi原创 2021-01-31 01:13:57 · 531 阅读 · 0 评论 -
注解 和 xml 比较
一句话总结优先注解不易发生变动 配置。优先配置文件易变更、第三方、环境相关 配置。优先考虑 注解:类级别的配置一般不会变动的依赖关系,如 service 和对应 dao其他不容易变更的配置优先考虑 配置文件:第三方的类(只能用配置文件形式)数据库、消息队列、redis 等中间件 或 基础环境依赖 组件配置线程池、定时任务、日志等个性化的项理由合理使用注解,...原创 2020-08-09 16:19:02 · 566 阅读 · 0 评论 -
解决 Spring Cloud 中 context has been closed already
context has been closed already 解决方案报错代码有这样一段代码,在运行中可能会发生 context has been closed already 错误,且一旦发生,以后每次运行到这必定出错。@Componentpublic class SpringContextUtil implements ApplicationContextAware { private static ApplicationContext context = null; @O原创 2020-07-17 20:05:10 · 15241 阅读 · 12 评论 -
Srping源码学习
Spring源码解析之ApplicationContext,主要内容是介绍Spring上下文初始化时的一些主要步骤Spring源码解析之默认标签的解析,主要内容是<bean/>、<beans/>、<import/>、<alias/>四个默认标签的解析过程Spring源码解析之自定义标签的解析,主要内容是除了默认标签外其他自定义标签的解析过程Sp...转载 2020-07-14 19:06:57 · 80 阅读 · 0 评论 -
Swagger3 注解使用(Open API 3)
swagger 3 的使用Swagger2(基于openApi3)已经在17年停止维护了,取而代之的是 sagger3(基于openApi3),而国内几乎没有 sagger3使用的文档,百度搜出来的都是swagger2的使用,这篇文章将介绍如何在 java 中使用 openApi3(swagger3)。相关介绍Open APIOpenApi是业界真正的 api 文档标准,其是由 Swagg...原创 2020-04-06 17:55:16 · 98604 阅读 · 18 评论 -
spring security 5 oauth2认证服务器开发
原文地址spring security 相关技术选型:由于 spring security 使用广度不及 spring boot,且 spring 这两年废弃了许多项目,spring 的术语和称呼都有一些改变。网上看到的一些教程大多是过时的,2019年之前的文章、教程大都跟不上最新的潮流,2019的文章和教程大部分又是转载的前几年的,因此需要看 spring 官方文档。由于 spring ...原创 2020-02-05 11:35:19 · 14393 阅读 · 4 评论 -
onApplicationEvent调用了2次,3次,多次
onApplicationEvent调用了2次,3次,多次 解决方案首先,被执行这么多次,肯定是自己配置的问题,我以spring boot为例来说我也遇到了执行三次,排查后发现一个是spring boot的,另外两个是自己配的,所以才导致三次,理论上可以导致n次的三个事件源分别为:spring boot 自带的注解形式上下文(解析所有通过开放端口发来的请求)org.springfra...原创 2019-10-12 10:55:32 · 4427 阅读 · 0 评论 -
为什么面试要求看过源码——案例:由于设计不当导致线程池execute方法抛异常
问题描述我写了一个线程池和延迟任务工具类,正常使用中,突然一天同事告诉我:你的代码阻塞启动了,快去看看!问题背景线程池是使用的内部框架中提供的,使用者的注入写法也是框架给的,其实本质上是JDK的 ThreadPoolExcute,我能决定的几乎只是对线程的命名。之前一直是可以运行的,发生问题的某一天我的电脑上可以正常启动,而其他同事的电脑上则无法启动web容器(IllegalStateEx...原创 2019-10-11 10:37:52 · 188 阅读 · 1 评论 -
为什么面试要求看过源码——案例:由于spring声明周期导致的错误
有人总觉得面试造航母,工作拧螺丝钉,java初级面试中经常会问到,spring的生命周期是什么,启动之后做了哪些事情,但工作中又没关系,用不到,没有任何意义,真的是这样吗?这里记一次只有了解spring的初始顺序才能解决的一个小问题。问题描述旧版本获取某数据xxx是依赖数据库的一张表tb_xxx,新版本要求获取这些数据将通过调用service_B服务的接口来获取。按理说,只是将BServic...原创 2019-10-08 00:45:35 · 331 阅读 · 1 评论 -
数据库事务总结
ACID原子性:不可分割一致性:数据不被破坏(失败则会还原)隔离性:多种隔离级别,级别越高,一致性越强,并发越差持久性:事务成功,数据必须被持久化最终目标:一致性并发问题脏读:A事务读取B事务未提交的更改数据,并在这个数据基础上进行操作。不可重复读:同一事务中读到的同一数据不一致(其他事务并发修改or删除该数据提交)。幻读:同一事务中读到的同一数据不一致(其他事务新增数据提...原创 2019-09-09 20:24:56 · 87 阅读 · 0 评论 -
spring boot yaml 配置文件加密
spring 配置文件加密继承 PropertyPlaceholderConfigurer 类,重写其父类 PropertyResourceConfigurer 中的covertXXX方法。convertProperties 方法在读取完毕所有配置信息后调用convertProperty(String propertyName, String propertyValue) 方法在读取每个配...原创 2019-09-04 20:24:19 · 3305 阅读 · 3 评论