spring
文章平均质量分 59
回顾、熟悉、深入spring
褚念荣
科学研究的基本逻辑 ——发现问题、分析问题、提出问题、解决问题以及持续改进
展开
-
isAssignableFrom与instanceof的区别
父类.class.isAssignableFrom(子类.class)子类实例 instanceof 父类类型。原创 2022-08-04 21:46:25 · 395 阅读 · 0 评论 -
spring容器初始化过程笔记(五) applicationListeners()初始化
这篇讲了spring源码相关,主要是对spring源码做笔记,需要读者下载spring源码编译执行辅助。编译spring源码步骤详解(一)原创 2022-07-30 18:31:42 · 388 阅读 · 0 评论 -
spring容器初始化过程笔记(四)InitializingBean 接口的 afterPropertiesSet 方法执行
这篇讲了spring源码InitializingBean接口的afterPropertiesSet方法执行描述,主要是对spring源码做笔记,需要读者下载spring源码编译执行辅助。原创 2022-07-30 16:32:06 · 1881 阅读 · 0 评论 -
spring容器初始化过程笔记(三)给Aware 类型的bean 塞入 applicationContext、Environment 等的时间
第4步执行所有的bean后置处理器方法,会执行到。请求spring内所有的bean后置处理器。传入值的时间为Bean初始化过程中。在spring容器初始过程中。调用AwareMethod。执行Bean后置处理器。执行bean后置处理器内的。......原创 2022-07-30 15:15:56 · 218 阅读 · 0 评论 -
记录spring容器初始化过程笔记(二)refresh中的prepareBeanFactory(beanFactory)解析
spring中执行ac.refresh()方法来更新spring上下文,这篇开始解析refresh方法中调用的prepareBeanFactory方法。原创 2022-07-18 22:07:11 · 97 阅读 · 0 评论 -
spring事件监听
代码】spring事件监听。原创 2022-07-18 21:42:20 · 125 阅读 · 0 评论 -
spring ignoreDependencyInterface讲解
**58}原创 2022-07-17 22:05:00 · 1510 阅读 · 3 评论 -
ApplicationContextAwareProcessor介绍
当前Bean是如下类型EnvironmentAware、EmbeddedValueResolverAware、ResourceLoaderAware、ApplicationEventPublisherAware、MessageSourceAware、ApplicationContextAware中的一个就会调用对应的回调方法。原创 2022-07-17 18:38:58 · 1954 阅读 · 0 评论 -
Primary注解使用
比如@AutoWired一个接口A,但是接口A有多个实现类这样@Primary只是让系统知道如果存在多个相同类型的bean时,自动选择哪一个。原创 2022-07-16 22:53:00 · 588 阅读 · 0 评论 -
记录spring容器初始化过程笔记(一)
比如@AutoWired一个接口A,但是接口A有多个实现类这样@Primary只是让系统知道如果存在多个相同类型的bean时,自动选择哪一个。***newClassPathBeanDefinitionScanner(this);构造执行的逻辑***AnnotationConfigApplicationContext无参构造方法代码。下面是一个spring单元测试类。.........原创 2022-07-15 07:48:14 · 196 阅读 · 0 评论 -
spring内Bean的BeanDefiniton类型
spring BeanDefiniton相关原创 2022-06-28 16:06:47 · 245 阅读 · 0 评论 -
代理(二)jdk动态代理简单描述
动态代理动态代理问动态代理创建对象的过程所谓的Class对象,是Class类的实例,而Class类是描述所有类的,比如Person类,Student类可以看出,要创建一个实例,最关键的就是得到对应的Class对象。能否不写代理类,而直接得到代理Class对象,然后根据它创建代理实例(反射)。Class对象包含了一个类的所有信息,比如构造器、方法、字段等。如果我们不写代理类,这些信息从哪获取呢?代理类和目标类理应实现同一组接口。之所以实现相同接口,是为了尽可能保证代理对象的内部结构和目标对象一原创 2022-02-15 14:39:54 · 210 阅读 · 0 评论 -
把自定义的对象(或第三方对象) 放到Spring 容器里
自定义对象放入到spring容器内前言三种方法FactoryBeanFactoryBean 介绍FactoryBean将自定义对象放入Spring容器@BeanregisterSingletion前言最近看了一位大神的教学视频,目前感觉挺有道理的,写个记录吧 ,防止忘记。了解如何把自定义的对象(或第三方对象) 放到Spring 容器里涉及的业务场景有:spring 整合mybatis、读取配置动态注册多个数据源 循环注册多个DataSource到spring容器内。FactoryBean原创 2022-02-11 15:59:13 · 2678 阅读 · 1 评论 -
编译spring源码(二)
spring源码导入idea第一步:预编译spring-oxm参考文档导入idea操作文档:idea 相关文档 本文章介绍内容为:导入已执行过gradlew.bat 命令的spring项目,gradlew.bat编译spring项目步骤请看上篇文章编译spring源码步骤详解(不导入idea内直接编译)第一步:预编译spring-oxm命令行执行graldew:spring-oxm:compileTest.java可能会报:java: 程序包jdk.j原创 2021-05-28 16:52:32 · 1460 阅读 · 1 评论 -
编译spring源码步骤详解(一)
distributionBase=GRADLE_USER_HOMEdistributionPath=wrapper/dists#distributionUrl=https\://services.gradle.org/distributions/gradle-6.8.3-bin.zipdistributionUrl=file\:///C\://SofeFile/gradle-6.5.1-bin.zipzipStoreBase=GRADLE_USER_HOMEzipStorePath=wrapper原创 2021-05-28 08:29:02 · 4335 阅读 · 5 评论 -
IOC容器命名
IOC容器命名With component scanning in the classpath, Spring generates bean names for unnamed components, following the rules described earlier: essentially, taking the simple class name and turning its initial character to lower-case. However, in the (unusua原创 2021-05-20 13:42:39 · 143 阅读 · 0 评论 -
创建对象几种方式
创建对象Class.newInstance ()Class.getConstructor().newInstance()Constructor.newInstance()new Class(); //1.源头:获取Class对象,用三种方式 Phone iPhone=new Phone(); //1.1.对象.getClass();获取对象 Class<?> clazz1 = iPhone.getClass(); //1.原创 2021-05-19 15:06:09 · 163 阅读 · 0 评论 -
java反射中的Field或Constructor对象的getModifiers方法返回值详解
案例: public static void makeAccessible(Constructor<?> ctor) { if ((!Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers())) && !ctor.isAccessible()) { ctor.setAccessible(tr转载 2021-05-19 14:49:31 · 340 阅读 · 0 评论 -
java中isAssignableFrom()方法与instanceof关键字区别【(实战)通过反射配合注解为字段设置默认值】
区别isAssignableFrom()方法是判断是否为某个类的父类instanceof关键字是判断是否某个类的子类使用父类.class.isAssignableFrom(子类.class)子类实例 instanceof 父类类型案例:spring 上下文创建:org.springframework.web.context.ContextLoader 类:obj instanceof Integerobj instanceof Date等实际应用通过反射配合注解为字段设置转载 2021-05-19 13:28:17 · 240 阅读 · 0 评论 -
Spring项目启动过程梳理
spring的启动过程其实就是其IoC容器的启动过程,对于web程序,IoC容器启动过程即是建立上下文的过程。原创 2020-09-02 12:03:31 · 465 阅读 · 0 评论 -
Spring中ServletContextListener与tomcat启动时的关系
ServletContextListener接口是Servlet包中的接口,在Tomcat启动时会执行该接口对象的contextInitialized(ServletContextEvent sce)方法原创 2020-09-01 23:15:35 · 311 阅读 · 0 评论 -
spring mvc 配置多个dispatcherservlet
在spring mvc中,可以配置多个转发器,只需要改变加载权重,如: doWeb org.springframework.web.servlet.DispatcherServlet 1 poWeb org.springframework.web.servlet.DispatcherServlet 2 poWeb *.do doWeb *.do ...原创 2020-09-01 21:22:17 · 1587 阅读 · 0 评论 -
Spring实战(第4版)第七章Spring MVC的高级技术学习笔记(multipart请求上传图片)
按照书内说明,配置了multipart解析器StandardServletMultipartResolver1.配置mulipart解析器 //配置mulipart解析器, //WebConfig.java代码块 @Bean public MultipartResolver multipartResolver() { return new StandardServletMul...原创 2019-12-02 21:35:57 · 207 阅读 · 0 评论 -
Spring实战(第4版)第五章构建SpringWeb应用程序学习笔记(一)
Spring实战(第4版)第五章构建SpringWeb应用程序学习笔记(一)点击下载相关电子档书和Spring实战4例子代码 提取码:pg46Spring MVC运行原理注解:DispatcherServlet:前端控制器(一个Spring MVC项目可以有多个)Hander mapping : 处理器映射(Spring MVC项目可以有多个)流程说明:(1)客户端(浏...原创 2019-11-30 20:55:26 · 215 阅读 · 0 评论