文档章节

Spring注入的反射解释

o
 osc_1ee7cxmx
发布于 2018/08/06 20:27
字数 243
阅读 0
收藏 0

精选30+云产品,助力企业轻松上云!>>>

对于如下配置片段: 

  1.   <bean id="id" class="lee.Aclass">
  2.   <!--property配置需要依赖注入的属性-->
  3.   <property name="aaa" value="aVal"/>
  4.   <property name="bbb" value="bVal"/>
  5.  ...
  6.   </bean>

Spring将会为每个bean元素创建一个Java对象(即bean实例)。而Spring将采用类似于如下的代码创建Java实例。

  1.   //获取lee.AClass类的Class对象
  2.  Class targetClass = Class.forName( "lee.AClass");
  3.   //创建Lee.AClass类的默认实例
  4.  Object bean = targetClass.newInstance();

创建实例后,Spring接着遍历bean元素中所有的property子元素,bean元素没包含一个property子元素,spring将为该bean实例调用一次setter方法。

类似如下代码:

  1.   //获取aaa的属性对应的setter方法名
  2.  String _setName1 = "set" +"Aaa";
  3.  /获取lee.Class类中的setAaa()方法
  4.  Method setMethod1 = targetClass.getMethod(setName1,aVal.getClass());
  5.   //调用bean实例的setAaa()方法
  6.  setMethod1.invoke(bean,aVal);

通过上述代码,Spring就可以根据配置文件的信息来创建Java实例。并将为该Java实例注入合理的属性值。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。

暂无文章

平时使用的Lszrz到底是什么协议?说说Xmodem/Ymodem/Zmodem

XMODEM, YMODEM, and ZMODEM 由于平时使用rz/sz较多,r/s好理解,一个send一个receive。但是由不太清楚z是什么意思,故有此文。 sx/rx, sb/rb (b=batch)和sz/rz分别实现了xmodem,ymodem和z...

独钓渔
25分钟前
17
0
真正的强智能时代已经到来。道翰天琼认知智能机器人平台API大脑。

最近,我常说人工智能的寒冬快要来了,提醒业界要做好思想准备,但同时我也说:冬天来了,春天就不会远了…… 2019年6月我写了篇文章《深度学习的问题究竟在哪?》,说到深度学习的一个主要问...

jackli2020
34分钟前
24
0
什么是控制型人格,控制型人格的筛查测试

一、 什么是控制性人格 拥有控制型人格的人,他们会尽力的隐藏自己的意图,但是又会使用很微妙的方式来利用周围人的弱点,进而占取便宜时,使他们能够得到自己想要的东西。这类人的控制欲非常...

蛤蟆丸子
42分钟前
14
0
【Spring】Spring AOP 代理对象生成逻辑源码分析

1. spring aop案例(POJO注入) 1.0 被代理接口 TargetInterface /** * 被代理的接口 * @author Yang ZhiWei */public interface TargetInterface { void show(); String show......

ZeroneLove
51分钟前
36
0
聊聊dubbo-go的gracefulShutdownFilter

序 本文主要研究一下dubbo-go的gracefulShutdownFilter gracefulShutdownFilter dubbo-go-v1.4.2/filter/filter_impl/graceful_shutdown_filter.go type gracefulShutdownFilter struct {......

go4it
52分钟前
30
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部