首页 > 其他分享 >Spring的手动注入,动态注入

Spring的手动注入,动态注入

时间:2023-03-21 10:36:53浏览次数:38  
标签:autowireBean Object Spring 手动 appContext param bean 注入


参数说明:
Object bean,就是一个已经被创建的实例;
ApplicationContext:Spring的Context;
AutowireCapableBeanFactory.AUTOWIRE_BY_NAME:按照名字来注入,注入类型。

/**
* 调用spring注入新创建对象的相关属性(根据属性名进行注入)
*
* @param bean
* @param appContext
*/
public static void autowireBean(Object bean, ApplicationContext appContext) {
autowireBean(bean, appContext, AutowireCapableBeanFactory.AUTOWIRE_BY_NAME);
}

/**
* 调用spring注入新创建对象的相关属性
*
* @param bean
* @param appContext
* @param autowireMode
*/
public static void autowireBean(Object bean, ApplicationContext appContext, int autowireMode) {
if (bean == null || appContext == null) {
return;
}

AutowireCapableBeanFactory factory = appContext.getAutowireCapableBeanFactory();
factory.autowireBeanProperties(bean, autowireMode, false);

String beanName = ClassUtils.getUserClass(bean).getName();
factory.initializeBean(bean, beanName);
}

标签:autowireBean,Object,Spring,手动,appContext,param,bean,注入
From: https://blog.51cto.com/u_3871599/6139642

相关文章

  • SpringBoot——包扫描@ComponentScan源码分析
    摘要博文参考(1)选择SpringCloud作为微服务架构的原因(2)SpringBoot和SpirngCloud,请你谈谈对他们的理解(3)什么是服务熔断?什么是服务降级?(4)微服务的优缺点分别是什么?(5)你所知道......
  • Spring自动创建实例
    动态的调用无参构造方法来创建实例.Classclazz=ClassUtils.forName(className);executor=(ReportExecutor)BeanUtils.instantiateClass(clazz)......
  • SpringBoot——springboot自动配置原理
    摘要 主要是介绍的Springboot的底层原理。web.xml配置Spring环境<!--Spring监听器--><1istener>org.springframework.web.context.ContextLoaderListener</1istener-......
  • SpringBoot——spring quarter原理和应用
    摘要1、JDK定时器timer使用及原理分析2、定时任务线程池解析3、定时任务框架-quarter小顶堆......
  • SpringCloud——SpringCloud Alibaba Seata 原理与实战
    摘要主要讲解是分布式事务指事务的操作位于不同的节点上,需要保证事务的AICD特性。分布式事务顾名思义就是要在分布式系统中实现事务,它其实是由多个本地事务组合而成。对于......
  • SpringCloud——springcloud大厂面试问题
    摘要 毫无疑问,SpringCloud是目前微服务架构领域的翘楚,无数的书籍博客都在讲解这个技术。不过大多数讲解还停留在对SpringCloud功能使用的层面,其底层的很多原理,很多人可......
  • 5-springboot集成热部署的方式
    热部署是指当我们修改代码后,服务能自动重启加载新修改的内容,这样大大提高了我们开发的效率;Springboot热部署通过添加一个插件实现;插件为:spring-boot-devtools,在Maven中......
  • SpringMVC-前后台协议联调
    SpringMVC-前后台协议联调4,前后台协议联调4.1环境准备创建一个Web的Maven项目pom.xml添加SSM整合所需jar包创建对应的配置类编写Controller、Service接口、Service......
  • SpringMVC-SSM整合
    SpringMVC-SSM整合1,SSM整合1.1流程分析(1)创建工程创建一个Maven的web工程pom.xml添加SSM需要的依赖jar包编写Web项目的入口配置类,实现AbstractAnnotationConfigD......
  • 4-springboot集成mybatis
    1.pom.xml中添加mybatis依赖2.application.properties中添加数据源配置3.反向生成dao的代码1.<!--mybatis-spring-boot-starter--><dependency>    <groupId>org......