要点
@Autowired
public M(MSub sub) {
mSub = sub;
}
<bean id="m" class="dd.M"></bean>
<bean id="msub" class="dd.MSub"></bean>
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
package dd;
import org.springframework.beans.factory.annotation.Autowired;
public class M {
private MSub mSub;
@Autowired
public M(MSub sub) {
mSub = sub;
}
public void print() {
mSub.print();
}
}
package dd;
public class MSub {
public void print() {
System.out.println("MSub print");
}
}
<?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-3.0.xsd">
<bean id="m" class="dd.M"></bean>
<bean id="msub" class="dd.MSub"></bean>
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/>
</beans>
package dd;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class T {
public static void main(String[] args) {
ApplicationContext context =
new ClassPathXmlApplicationContext("bean.xml");
//Spring @Autowired 注释-构造函数中的 @Autowired
System.out.println("构造函数中的 @Autowired");
M m = (M)context.getBean("m");
m.print();
}
}