构造函数中的 @Autowired

要点

@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();
	}
}

猜你喜欢

转载自blog.csdn.net/xie__jin__cheng/article/details/88679857
今日推荐