Spring
文章平均质量分 96
Spring
goodluckwj
努力就会有回报
展开
-
SpringBoot 深入理解配置文件加载顺序和自定义修改默认的加载顺序
1.背景 之前对于公司统一架构的组件在安装后,有些配置项不会使用classpath下面的application.properties中的值,而是去相应组件的config/config.properties去加载,这样的好处是,本地搭建的测试环境和线程环境对于配置文件是不冲突的,极大方便的开发效率,基于这样的场景,产生了一些关于配置文件加载顺序的一系列问题,在此进行记录和学习。2.配置文件的加载顺序 其实关于SpringBoot配置文件加载顺序的文章有很多,这里就不详细...原创 2021-04-09 12:43:17 · 6421 阅读 · 0 评论 -
JDK动态代理为什么需要接口?
回答这个问题之前需要首先由JDK动态代理的基础,可以查看大佬写的这篇文章:Java JDK 动态代理(AOP)使用及实现原理分析,然后再来深入思考这个问题。 还有一点,需要特别注意的是,当我们在介绍静态代理的时候,都知道需要被代理的类和代理的类都需要实现同一个接口,这样才能完成静态代理,关于静态代理的内容上面的那篇博客也介绍了,这里只是提一下这个点。 关于JDK动态代理准确的说是对接口进行的代理,创建一个该接口的子类,这个重点突出的是这个接口,而不是某个类需要...原创 2020-08-30 21:54:07 · 1476 阅读 · 0 评论 -
Spring AOP源码解析二: 根据普通bean创建其动态代理
根据Spring AOP源码解析一里面所讲的内容,在Spring容器启动时,会先创建所有的bean的后置处理器,然后再创建普通bean的时候,在合适的地方调用bean的后置处理器执行相应的逻辑,而对于普通bean在Spring执行的生命周期的initializeBean方法中进行完成AOP动态代理的功能工作。 关于Spring bean创建的流程这里就不再细说了,感兴趣的先参考:Spring中bean的生命周期(最详细),这里仅对Spring AOP进行分析,那么我们的切入点...原创 2020-08-27 23:19:52 · 976 阅读 · 1 评论 -
Spring AOP源码解析一:AOP代理重要bean---AnnotationAwareAspectJAutoProxyCreator的创建
最近在学习Spring AOP,就顺便看了一下Spring AOP的源码,这里记录一下,防止七秒钟的记忆。之前写过一篇关于Spring AOP的基本使用:Spring AOP 基本概念和使用,建议大家先去观看一下,再回来阅读这篇文章。 AOP是一种思想和理念,可以使用这种思想来简化代码开发的耦合性和难度,有句话说的好,天上飞的理念,必有落地的实现,那么实现了AOP这个思想的具体实现由SpringAOP和AspectJ技术,他们都是根据AOP的思想实现的。 Sp...原创 2020-08-24 22:41:07 · 461 阅读 · 0 评论 -
SpringBoot与Mybatis整合源码深度解析
问题: SpringBoot中没有Mybatis的配置文件是如何完成对Mybatis的整合? 在Mapper接口上不加@component或者是@repository也能将Mapper注入到Spring中,是如何实现的? 所写的Mapper接口是如何关联到xml里面所写的sql语句的? 如果对于上述三个问题的答案不是很清楚的话,可以往下面,本文将从源码的角度分析SpringBoot与Mybatis整合的源码,对于Spring和Mybatis的整...原创 2020-05-28 17:10:18 · 2245 阅读 · 1 评论 -
工具类------让普通类能够获取ApplicationContext和Spring容器中的bean和配置项
在编写Web代码时,可能需要让工具类或者是没有加入到Spring bean工厂的类,能够访问到Spring中的ApplicationContext和、bean和配置项,这时,因为该类没有加入到Spring容器中,所以不能在这个类中使用@Autowired来注入Spring中的bean,这时就需要一个工具类,来完成这件事。 import org.springframework.beans.BeansException;import org.springframework.c...原创 2020-05-22 12:18:33 · 498 阅读 · 0 评论 -
Spring中@Import注解源码分析
Spring中@Import注解是用来向IOC容器出入bean的,关于其使用可以参考:Spring为IOC容器注入Bean的方式,@Import导入的类型分为三种:普通类、实现ImportBeanDefinitionRegistrar接口的类、实现ImportSelector接口的类,而对于ImportSelector、ImportBeanDefinitionRegistrar的实现...原创 2020-03-24 16:49:14 · 3085 阅读 · 0 评论 -
Spring源码分析@Autowired、@Resource注解的区别
关于Spring中@Autowired、@Resource和@Inject注解的区别请看:@Autowired、@Resource和@Inject注解的区别(最详细),本片文章将会带领你进行源码分析@Autowired、@Resource注解的不同。 在上面所说的那篇博客中,我们知道: Spring对于@Autowired、@Resource注解...原创 2020-03-17 23:36:20 · 10722 阅读 · 3 评论 -
Spring AOP 基本概念和使用
关于AOP AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP的延续,是软件开发中的一个热点,也是Spring框架中的一个重要内容,是函数式编程的一种衍生范型。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性...原创 2020-03-07 16:23:10 · 709 阅读 · 0 评论 -
Spring中@Configuration的使用
从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被ConfigurationClassPostProcessor类进行扫描,并用于构建bean定义,初始化Spring容器。 我们先来看一下@Configuration注解的源码:@Target(Elemen...原创 2020-02-29 16:53:41 · 801 阅读 · 0 评论 -
Spring中@Configuration源码深度解析(二)
在Spring中@Configuration源码深度解析(一)中已经说到了执行代码块4的PostProcessorRegistrationDelegate#invokeBeanFactoryPostProcessors方法的第一个重要方法:invokeBeanDefinitionRegistryPostProcessors(currentRegistryProcessors, reg...原创 2020-09-14 19:41:56 · 775 阅读 · 0 评论 -
Spring中@Configuration源码深度解析(一)
我们知道@Configuration 和 @Component都可以向String容器中注入bean对象,但是他们之前还是有不同点的。 @Configuration为配置类,@Component为普通组件类,虽然在标注了@Component的bean中也可以使用@bean方法来注册bean,但是和@Configuration还是有很大不同的,其中@Configuration...原创 2020-09-12 13:54:25 · 1153 阅读 · 0 评论 -
毕业设计 微信小程序 音乐播放器
大学室友根据网易云的API自己制作的微信小程序,获得校级优秀毕业设计(如果你是大佬请绕行),下面简单介绍一下: 根据多次的使用不同的音乐APP发现,网易云音乐的页面设计最适合作为本微信小程序的页面基础模板。由于本作品是微信小程序,就需要剔除APP中的各种冗余的功能,页面设计也需要尽可能的简单直接,内容也要充实。然后根据以上几点,对应用的功能模块进行大量的分析与重构...原创 2020-02-26 20:41:03 · 44992 阅读 · 47 评论 -
Spring中FactoryBean源码分析(最详细)
这篇文章我们来分析一下从容器中拿FactoryBean时,返回的为什么是FactoryBean所包裹的对象,关于FactoryBean的使用,请移步:Spring中FactoryBean的使用这篇文章。将Spring中FactoryBean的使用中的例子拿过来作为源码分析的入口:package com.luban.factoryBean;@Component("school...原创 2020-02-26 20:44:36 · 1389 阅读 · 0 评论 -
Spring中FactoryBean的使用
本文主要介绍什么是FactoryBean技术?为什么使用FactoryBean?使用FactoryBean的好处?目前优秀的框架有哪些用到了FactoryBean?1. FactoryBean的介绍: FactoryBean从字面意思上理解是工厂bean,他可以生成某一个类型Bean实例,它最大的一个作用是:可以让我们自定义Bean的创建过程。 一...原创 2020-02-26 20:46:49 · 2870 阅读 · 4 评论 -
Spring中bean的生命周期(最详细)
Spring Bean的生命周期是Spring面试热点问题。Spring Bean的生命周期指的是从一个普通的Java类变成Bean的过程,深知Spring源码的人都知道这个给面试官讲的话大可讲30分钟以上,如果你不没有学习过Spring的源码,可能就知道Aware接口和调用init方法这样的生命周期,所以这个问题既考察对Spring的微观了解,又考察对Spring的宏观认识,想要答好并不容易!本文希望能够从源码角度入手,帮助面试者彻底搞定Spring Bean的生命周期。 首先你要明白一点,Sp原创 2020-02-26 20:47:29 · 141911 阅读 · 33 评论 -
@Autowired、@Resource和@Inject注解的区别(最详细)
在Spring中依赖注入可以使用@Autowired、@Resource和@Inject来完成,并且在一般的使用中是可以相互替换的(注意是一般),不过三者还是有区别,今天来介绍一下他们的区别: @Autowired注解: 1.Spring本身替换的注解(org.springframework.beans.factory.annotation.Autowire...原创 2020-02-26 20:48:10 · 14715 阅读 · 0 评论 -
Spring中@Autowired注解的使用和注入规则
作为一个Spring开发者对@Autowired注解必定是非常了解了, 顾名思义自动装配,应该是Spring会自动将我们标记为@Autowired的元素装配好,与其猜测不如看看它的定义:@Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD,...原创 2020-02-26 20:50:44 · 5244 阅读 · 0 评论 -
Spring为IOC容器注入Bean的方式
Spring提供的主要功能就是对于bean的管理,提供了多种方式可以向容器中注入bean,下面来总结一下向IOC容器注入bean的几种方式(以下注入bean的方式都是基于注解完成的): 1、@ComponentScan+@Component方式 @ComponentScan可以扫描指定包下的类,如果该包下的类标有@Component、@Service、@R...原创 2020-02-26 20:49:48 · 2413 阅读 · 0 评论 -
http请求报文Header里的Content-Type类型以及SpringMVC解析该类型使用的注解
HTTP请求由状态行、请求头、请求正文三部分组成: 状态行:包括请求方式Method、资源路径URL、协议版本Version; 请求头:包括一些访问的域名、用户代理、Cookie等信息; 请求正文:就是HTTP请求的数据。 在请求头中有Content-Type属性,它用来定义传输给服务器的数据编码格式,对于...原创 2019-05-10 18:11:14 · 2987 阅读 · 0 评论 -
springboot图片(文件)上传时为null
这几天在使用springboot时,controller层接受前端传入的数据为null,而在发送请求时也是有数据的,这就让我很疑惑,于是在查看了一下源码,发现了问题所在。 1.我们都知道,在springboot启动完成之后,会加载很多的bean进入容器,怎么加载的请在网上自行搜索,其中就有这么一个配置类DispatcherServletAutoConfiguratio...原创 2019-04-22 16:23:19 · 3054 阅读 · 2 评论