diff --git a/spring-framework/src/main/java/cases/AutowireByName.java b/spring-framework/src/main/java/cases/AutowireByName.java index 106ea38..129471b 100644 --- a/spring-framework/src/main/java/cases/AutowireByName.java +++ b/spring-framework/src/main/java/cases/AutowireByName.java @@ -5,13 +5,16 @@ /** * 修改 xml 中或者 AutowiredConfig 文件中的 Primary,Service 会注入不同的 bean。 + *

@Autowired 先匹配类型,如果有多个bean,选择优先级高的 + *

@Resource 先匹配名称相同的 bean,如果没有则匹配类型,如果有多个类型相同的则匹配优先级高的。 + * * @author wanghuanyu */ public class AutowireByName { public static void main(String[] args) { - ApplicationContext applicationContext = new ClassPathXmlApplicationContext( + ApplicationContext applicationContext = new ClassPathXmlApplicationContext( "classpath:META-INF/cases/autowire-by-name.xml"); Service service = applicationContext.getBean("service", Service.class); diff --git a/spring-framework/src/main/java/cases/Service.java b/spring-framework/src/main/java/cases/Service.java index f74a272..f8453a6 100644 --- a/spring-framework/src/main/java/cases/Service.java +++ b/spring-framework/src/main/java/cases/Service.java @@ -1,12 +1,13 @@ package cases; import javax.annotation.Resource; +import org.springframework.beans.factory.annotation.Autowired; public class Service { Store store; - @Resource + @Autowired public void setStore(Store store) { this.store = store; } diff --git a/spring-framework/src/main/resources/META-INF/cases/autowire-by-name.xml b/spring-framework/src/main/resources/META-INF/cases/autowire-by-name.xml index 65f9539..8346510 100644 --- a/spring-framework/src/main/resources/META-INF/cases/autowire-by-name.xml +++ b/spring-framework/src/main/resources/META-INF/cases/autowire-by-name.xml @@ -12,6 +12,6 @@ - +