网站首页 > 资源文章 正文
@Order用于为使用此批注注释的组件定义排序顺序。 自2.0版以来,@Order注解在Spring Framework中可用。 直到Spring 4,它仅支持AspectJ方面的订购。 Spring 4对@Order注释做了一点改进。 它引入了对List和Arrays等集合中自动布线组件排序的支持。
在内部,@Order在基于Spring XML的应用程序中使用“OrderComparator”类或在基于Spring Annotation的应用程序中使用“AnnotationAwareOrderComparator”类来对组件进行排序。 在这个Spring教程中,我们将通过Spring项目的示例详细了解@Order注释。
@Order 注解
在Spring Framework中,@Order注释的定义如下所示:
此注释包含一个属性“value”,它接受像1,2等整数值。最低值具有更高的优先级。 这是最低值首先在列表或数组中。
现在让我们来演示这个注释在Spring 3.x和Spring 4.x框架中的工作方式。
示例场景
让我们假设我们要开发一个使用Spring 4框架的应用程序。 这个应用程序的场景之一是一组学生排名说RankOne,RankTwo,RankThree等。我们使用列表或数组来存储使用自动布线结果组件中的这些秩组件。 我们需要观察他们在Spring 3.x和Spring 4.x框架中如何在List或Array中进行排序。
Spring 3.x 示例
我们将使用Spring 3.2框架开发这个应用场景。 使用以下组件在Spring STS Suite中创建Maven项目。 开发一个接口来表示学生排名和RankOne,RankTwo,RankThree等实现。
Ranks.java
RankOne.java
RankTwo.java
RankThree.java
Results.java
如下图所示,用于保存学生排名的组件。
beans.xml
RanksClient.java
pom.xml
最终的项目应该如下所示。
是时候运行这个应用程序并观察结果。
由于我们的客户端有简单的main()方法,只需在Spring STS Suite中将客户端java文件作为“Java应用程序”运行即可。
输出:
[RankOne, RankThree, RankTwo]
在这里,我们的排名组件包含无序格式的排名列表。 由于Spring 3.x不支持@订单注释来订购自动连线列表,因此Ranks组件包含无序列表的列表。 现在让我们来看看Spring 4,看看@Order在这个例子中的不同之处。
Spring 4.x 示例
使用以下组件创建Spring 4 Maven项目。 由于这个项目使用了相同的Spring 3组件,因此我只列出这里的更改。
按照原样使用所有Java类,除非进行以下更改。 为RankOne,RankTwo和RankThree的所有Rank实施班级添加@Order注释。
所以唯一的变化是,我们添加了@Order注释,如上所示。 在Maven pom中添加Spring 4作为依赖项。 现在运行该项目,您将得到以下输出。
输出:
[RankOne, RankThree, RankTwo]
因为我们已经为所有Ranks-Implemented类分配了@Order注解,分别为1,2和3; 他们有相同的顺序自动连线。
Spring 4.0 @订单注释优先级
默认情况下@订单注释遵循从低到高的顺序,即最低值具有高优先级。 这意味着它们首先出现在列表或数组中。 因为默认情况下,排序优先级设置为Ordered.LOWEST_PRECEDENCE。 如果您首先需要最高值,那么我们需要将此值更改为Ordered.HIGHEST_PRECEDENCE。
猜你喜欢
- 2024-09-21 Order的新字体由受音乐符号启发的形式组成
- 2024-09-21 order by 与 limit 的优化(order by asc limit)
- 2024-09-21 不要只会优化查询,ORDER BY语句也有很多优化之处
- 2024-09-21 深入理解@Order注解及其在复杂业务场景中的应用
- 2024-09-21 英下议院“网红”议长伯考卸任 任职10年喊了1.4万次Order
- 2024-09-21 如何记住order(如何记住英语单词发音)
- 2024-09-21 今天总结:初中生~order 的用法。(order sbsth)
- 2024-09-21 order及相关短语归纳(order的相关短语)
- 2024-09-21 网红议长亲自讲解:如何正确使用“Order”
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)