例子来源于 spring | 什么是注入
前置条件
1 2 3 4 5
| <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>5.1.4.RELEASE</version> </dependency>
|
注入原理
基本原理还是使用反射。
1 2 3 4 5 6 7 8 9 10 11 12 13
| <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="person" class="com.rhino.Person"> <property name="id"> <value>10</value> </property> <property name="name"> <value>小明</value> </property> </bean> </beans>
|
当 spring 检测到 bean 标签的时候,进行反射创建
<bean id="person" class="com.rhino.Person">
- 等于
Person p = new Person()
<property name="name"> <value>小明</value> </property>