spring 注解 extends

 

package com.searchly.jest.sample.service;


public interface I {

}
package com.searchly.jest.sample.service;

import javax.annotation.Resource;

//@Component
public class P {

	@Resource
	public T t;
}
package com.searchly.jest.sample.service;

import org.springframework.stereotype.Component;

@Component
public class C extends P implements I {

}
package com.searchly.jest.sample.service;

import org.springframework.stereotype.Component;

@Component
public class T {

}

   

package com.searchly.jest.sample;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.searchly.jest.sample.service.C;
import com.searchly.jest.sample.service.I;
import com.searchly.jest.sample.service.P;

public class Mail {

	public static void main(String[] args) {
		ApplicationContext applicationObjectSupport = new ClassPathXmlApplicationContext(
				"classpath:servlet-context.xml");

		C c = applicationObjectSupport.getBean("c", C.class);

		P p = applicationObjectSupport.getBean(P.class);

		I i = applicationObjectSupport.getBean(I.class);

		System.out.println("========c=====" + c);
		
		System.out.println("===========p==" + p);

		System.out.println("========i=====" + i);
		
		System.out.println("=====c.t===="+c.t);
		
		
		
	
		
		

	}
}

    

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
========c=====com.searchly.jest.sample.service.C@419444
===========p==com.searchly.jest.sample.service.C@419444
========i=====com.searchly.jest.sample.service.C@419444
=====c.t====com.searchly.jest.sample.service.T@16d2378

    通过测试可以得出结论:当 extends父类时,父类中有注入属性(@Resource),即使父类没有注入到spring工厂,也会被赋值。

 

 

你可能感兴趣的:(spring 注解 extends)