随笔分类 - SpringMvc
摘要:package com.example.springboot.log; import lombok.Data; import lombok.NoArgsConstructor; @Data @NoArgsConstructor class RequestInfoBO { /** * 用于记录方法路径
阅读全文
摘要:这篇文章主要为大家展示了“如何解决Spring框架下向异步线程传递HttpServletRequest参数的坑”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何解决Spring框架下向异步线程传递HttpServletRequest参数的坑”这篇文章吧。
阅读全文
摘要:自定义一个注解 @Target({ElementType.TYPE, ElementType.METHOD}) @Retention(RetentionPolicy.RUNTIME) public @interface UserAuthorization { } 复制代码 其中@Target注解解决
阅读全文
摘要:有些时候我们不想让一些权限不足的人看到一些敏感字段,因此我们可以使用注解+AOP+反射来实现将返回的对象中的敏感字段设置为null值。 1. 编写一个注解,在属性上使用,用来控制字段的权限 @Target(ElementType.FIELD) @Retention(RetentionPolicy.R
阅读全文
摘要:import com.baomidou.mybatisplus.extension.service.IService; import org.apache.commons.collections4.CollectionUtils; import org.springframework.beans.B
阅读全文
摘要:Controller 默认是单例的,一般情况下,如果用Spring MVC 的 Controller时,尽量不在 Controller中使用实例变量。否则会出现线程不安全性的情况,导致数据逻辑混乱。正因为单例所以不是线程安全的。举个简单例子: @Controller public class Sco
阅读全文
摘要:Spring框架为什么采用三级缓存而不采用二级缓存来解决循环依赖?CGLIB动态代理的AOP存在! 发现每次执行一遍singleFactory.getObject()方法又是一个新的代理对象,这就会有问题了,因为AService是单例的,每次执行singleFactory.getObject()方法
阅读全文
摘要:面试官:今天要不来聊聊Spring对Bean的生命周期管理? 候选者:嗯,没问题的。 候选者:很早之前我就看过源码,但Spring源码的实现类都太长了 候选者:我也记不得很清楚某些实现类的名字,要不我大概来说下流程? 面试官:没事,你开始吧 候选者:首先要知道的是 候选者:普通Java对象和Spri
阅读全文
摘要:Spring学习(五):动态代理的两种实现方式(全网最容易懂)前言 要学习SpringAOP之前,肯定要弄清楚什么是动态代理,动态代理是怎样实现的,以及动态代理能解决什么问题。一、什么是动态代理1、字面意思,代理就是代替别人去做一些事情,如线下店代替工厂去卖电脑、代理工厂做售后工作,线下店就是代理商
阅读全文
摘要:BeanFactory和ApplicationContext的区别 描述 BeanFactory: 是Spring里面最低层的接口,提供了最简单的容器的功能,只提供了实例化对象和拿对象的功能; ApplicationContext: 应用上下文,继承BeanFactory接口,它是Spring的一各
阅读全文
摘要:@PostConstruct注解详解 往往我们在项目启动时需要加载某个方法的时候,可以使用@Component+@PostConstruct方法将一个方法完成初始化操作,@PostConstruct注解的方法会将在依赖注入完成之后被自动调用。该注解在整个Bean初始化中执行的顺序: @Constru
阅读全文
摘要:本文打算介绍几个不太容易说出其区别,或者用途的 Spring 注解,比如 @Component 与 @Bean 的比较,@ControllerAdvice 是如何处理自定义异常的等等。 Spring 中的一些注解 1. @Component 和 @Bean 的区别是什么? 作用对象不同:@Compo
阅读全文
摘要:目录 1、@Import注解须知 2、@Import的三种用法 2.1、第一种用法:直接填class数组 2.2、第二种用法:ImportSelector方式【重点】 2.3、第三种用法:ImportBeanDefinitionRegistrar方式 3、@Import注解的三种使用方式总结 1、@
阅读全文
摘要:@ControllerAdvice ,很多初学者可能都没有听说过这个注解,实际上,这是一个非常有用的注解,顾名思义,这是一个增强的 Controller。使用这个 Controller ,可以实现三个方面的功能: 全局异常处理 全局数据绑定 全局数据预处理 灵活使用这三个功能,可以帮助我们简化很多工
阅读全文
摘要:有很多应用场景,用到了接口动态实现,下面举几个典型的应用: 1、mybatis / jpa 等orm框架,可以在接口上加注解进行开发,不需要编写实现类,运行时动态产生实现。 2、dubbo等分布式服务框架,消费者只需要引入接口就可以调用远程的实现,分析源代码,其实在消费端产生了接口的代理实现,再由代
阅读全文
摘要:java bean有一个约定俗成的习惯,就是要有一个无参构造器。 当然也可以不写,但是一般还是建议写的,原因如下: 1、 java web开发中spring是很常用的,其IOC利用了java的反射,而spring的反射要求这个bean必须要有一个无参构造器。 多嘴一句,并不是说反射一定要有无参构造器
阅读全文
摘要:1.spring 的生命周期粗粒度的可以分为4个阶段 第一阶段:实例化(Instantiation) //实例化是指Bean 从Bean到Object Object wrappedBean = applyBeanPostProcessorsBeforeInitialization(wrappedBe
阅读全文
摘要:最近重新再看spring的内容的时候有个疑问:当spring对象对象存在相互依赖注入的时候,会不会造成死循环,如果不会spring是怎么解决的?带着这个疑问我自己在eclipse试了一下,发现是能正常运行的,那么spring是怎么做到的呢,带着疑问我百度了一下,查到一篇博客可供大家参考:https:
阅读全文
摘要:Spring的事务经常会有这样的配置: 1 <tx:method name="search*" read-only="true" /> 或者这样的注记: 1 @Transactional(readOnly = true) 正好我正在做的项目中这样配置了,而且偶然发现配置了不生效,本着“不弄明白对不起
阅读全文
摘要:Spring事务传播行为:spring特有的事务传播行为,spring支持7种事务传播行为,确定客户端和被调用端的事务边界(说得通俗一点就是多个具有事务控制的service的相互调用时所形成的复杂的事务边界控制)下图所示为7钟事务传播机制o 传播行为 含义PROPAGATION_REQUIRED(X
阅读全文