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工厂,也会被赋值。