admin管理员组

文章数量:1794759

SpringBoot中的SearchStrategy介绍

SpringBoot中的SearchStrategy介绍

前言:

在看@ConditionalOnBean注解的实现的时候,看到了SearchStrategy(直译过来是搜索策略)这个枚举类型,比较好奇。

SearchStrategy:

package org.springframework.boot.autoconfigure.condition; public enum SearchStrategy { CURRENT, /** @deprecated */ @Deprecated PARENTS, ANCESTORS, ALL; private SearchStrategy() { } }

在官方文档中,它被解释为 bean工厂层次结构中bean的一些命名搜索策略。

枚举常量:

它的枚举常量有:

  • ALL:搜索整个层次结构,@ConditionOnBean中默认是ALL。

  • ANCESTORS:搜索所有祖先,但不搜索当前上下文。

  • CURRENT:仅搜索当前上下文。

  • PARENTS:已过时,搜索所有父母和祖先,但不是当前的上下文(在SpringBoot 2.0中,这个常量将被移除)。 

方法: values() public static  SearchStrategy [] values()

按照声明的顺序返回一个包含此枚举类型常量的数组。此方法可用于迭代常量,如下所示:

for(SearchStrategy c:SearchStrategy.values()) System.out.println(C);

返回:包含此枚举类型常量的数组,按声明的顺序排列

valueOf(String name) public static SearchStrategy valueOf(String name)

返回具有指定名称的此类型的枚举常量。该字符串必须与用于声明此类型中的枚举常量的标识符完全匹配。(不允许使用无关的空白字符。) 参数:name - 要返回的枚举常量的名称。 返回:具有指定名称的枚举常量 抛出:IllegalArgumentException - 如果此枚举类型没有指定名称的常量NullPointerException - 如果参数为null

本文标签: SpringBootSearchStrategy