Java面试准备之Spring框架系列四

Java面试准备之Spring框架系列四

前后端传值@PathVariable 和 @RequestParam@PathVariable用于获取路径参数,@RequestParam用于获取查询参数。@GetMapping("/klasses/{klassId}/teachers")public List<Teacher> getKlassRelatedTeachers( @Pa...
Java面试准备之Spring框架系列三

Java面试准备之Spring框架系列三

@Component 和 @Bean 的区别是什么?作用对象不同: @Component 注解作用于类,而@Bean注解作用于方法。@Component 通常是通过类路径扫描来自动侦测以及自动装配到 Spring 容器中(我们可以使用 @ComponentScan 注解定义要扫...
Java面试准备之Spring框架系列二

Java面试准备之Spring框架系列二

BeanDefinition配置文件元素标签拥有 class、scope、lazy-init 等属性,BeanDefinition 则提供了相应的 beanClass、scope、lazyInit 属性,BeanDefinition 和<bean>中的属性一一对应。Spring 通过 BeanDefinition 将...
Java面试准备之Spring框架系列一

Java面试准备之Spring框架系列一

什么是 Spring 框架?Spring 是一种轻量级开发框架,旨在提高开发人员的开发效率以及系统的可维护性。Spring 官网:https://spring.io/。我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模...
Spring源码学习大纲

Spring源码学习大纲

正文Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。包括在此基础上衍生的 Spring MVC、 Spring Boot 、Spring Cloud 等,在现在企业中的应...
Spring AOP代理的创建过程

Spring AOP代理的创建过程

紧接着上文,在获取了所有对应 Bean 的增强器后,便可以进行代理的创建了。回到 postProcesssAfterIntialization 方法中,在我们分析完 getAdvicesAndAdvisorsForBean()后,还有一个 createProxy 方法。protected Object cr...
Spring AOP创建代理之获取增强器

Spring AOP创建代理之获取增强器

在上一篇文章中我们讲解了关于Spring AOP 自定义标签的解析,其中主要是完成了对 AspectJAwareAdvisorAutoProxyCreator 和 AnnotationAwareAspectJAutoProxyCreator 类型的自动注册,我们看一下它们两个的层次接口,如下图...
Spring AOP自定义标签解析

Spring AOP自定义标签解析

在初识Spring AOP一文中我们初步了解了 Spring AOP 的概念和实现方式,那么我们接下来深入了解底层实现的原理,这就需要对源码进行解读。在之前的 Sping IoC 系列,从测试代码里的定义可以知道该先从哪里入手,比如说 Appl...
代理模式详解

代理模式详解

代理模式代理模式是很常见的一种设计模式,代理一词拆开来看就是代为受理,那显然是要涉及到请求被代理的委托方,提供代理的代理方,以及想要通过代理来实际联系委托方的客户三个角色。举个生活中常见的例子,房东都是通过...
AspectJ入门及在IDEA中的配置

AspectJ入门及在IDEA中的配置

AspectJAspectJ 是一个基于 Java 语言的 AOP 框架,提供了强大的 AOP 功能,其他很多 AOP 框架都借鉴或采纳其中的一些思想。AspectJ 是 Java 语言的一个 AOP 实现,其主要包括两个部分:第一个部分定义了如何表达、定义 AOP...