Spring4.0系列7-Ordering Autowired Collections

简介:

spring 4.0的一个小特性是在自动注入的时候使用@Order。Spring 2.5中,我们将bean注入List,如下代码:

Java代码   收藏代码
  1. import org.springframework.stereotype.Component;  
  2. @Component  
  3. public class Employee implements Person {  
  4. }  

 

Java代码   收藏代码
  1. import org.springframework.stereotype.Component;   
  2. @Component   
  3. public class Customer implements Person {   
  4. }  

 

Java代码   收藏代码
  1. import org.springframework.beans.factory.annotation.Autowired;  
  2. import org.springframework.stereotype.Component;  
  3. @Component  
  4. public class Organization {  
  5.     @Autowired  
  6.     List<Person> people;  
  7.    
  8.     public String toString() {  
  9.         return people.toString();  
  10.     }  
  11. }  

 

此例中,Organization中的people是无序的。多数情况下,在xml配置里,bean被有序添加到people list。这时Srping 4.0提供了一个解决方案:使用@Order。
@Order注解在Spring2.0时已经在Spring框架里。它的主要作用是给组件排序。现在在Spring4.0里,它也能给注入到有序的colletion的bean排序。@Order接受一个排序值,值小的优先级高,也意味着在collection中排序靠前。上面的例子改写成:
Java代码   收藏代码
  1. import org.springframework.core.annotation.Order;  
  2. import org.springframework.stereotype.Component;  
  3. @Component  
  4. @Order(value=1)  
  5. public class Employee implements Person {  
  6. }  
 
Java代码   收藏代码
  1. import org.springframework.core.annotation.Order;  
  2. import org.springframework.stereotype.Component;  
  3. @Component  
  4. @Order(value=2)  
  5. public class Customer implements Person {  
  6. }  
目录
相关文章
|
4月前
|
Java 开发者 Spring
Spring Framework 中的 @Autowired 注解:概念与使用方法
【4月更文挑战第20天】在Spring Framework中,@Autowired 注解是实现依赖注入(Dependency Injection, DI)的一种非常强大的工具。通过使用 @Autowired,开发者可以减少代码中的引用绑定,提高模块间的解耦能力
501 6
|
4月前
|
Java Spring 容器
Spring中@Autowired和@Resource注解异同点
Spring中@Autowired和@Resource注解异同点
61 0
|
4月前
|
开发框架 Java 测试技术
Spring Boot 项目中使用 `@Autowired` 注解,合理吗?
Spring Boot 项目中使用 `@Autowired` 注解,合理吗?
190 1
Spring Boot 项目中使用 `@Autowired` 注解,合理吗?
|
4月前
|
安全 Java 开发者
Spring依赖注入大揭秘:@Autowired、@Qualifier和@Resource的区别与应用
Spring依赖注入大揭秘:@Autowired、@Qualifier和@Resource的区别与应用
207 0
|
10月前
|
IDE Java 测试技术
为什么Spring和IDEA不推荐使用@Autowired注解,有哪些替代方案?
为什么Spring和IDEA不推荐使用@Autowired注解,有哪些替代方案?
300 1
为什么Spring和IDEA不推荐使用@Autowired注解,有哪些替代方案?
|
4月前
|
Java Spring
spring注解@Autowired、@Resource说明
spring注解@Autowired、@Resource说明
|
4月前
|
Java 编译器 Spring
Spring中@Autowired和@Resource的区别
Spring中@Autowired和@Resource的区别
134 0
|
10月前
|
Java Spring
Idea spring boot cannot autowired 解决方法
Idea spring boot cannot autowired 解决方法
|
10月前
|
Java Spring 容器
Spring中@Autowired与@Resource自动注入实现原理
Spring中@Autowired与@Resource自动注入实现原理
82 0
|
11月前
|
缓存 Java Spring
学习Spring,@Autowired的这几个易错点你一定要知道!
前言 你是否懂得@Autowired注解在使用上的细节? 你是否在解决因@Autowired产生的异常而无处下手? 你是否了解@Autowired的基本原理? 我们在做项目的过程中,随着项目规模的增大、第三方服务的引入,项目中类与类之间的依赖关系错综复杂,而@Autowired作为在依赖注入中最常使用到的注解,若没有一定的知识储备,遇到问题就直接百度搜报错信息的话,很大程度会造成一杯茶一包烟,一个bug搞一天。 本篇文章我将从以上三个问题出发讲解@Autowired使用中容易出错的地方。 一.@Autowired的使用细节 1.依赖注入:@Autowired它可以对类成员变量、方法及构造函
62 0