Java 当资源不存在时,SpringBoot上有没有方法返回配置bean?

Java 当资源不存在时,SpringBoot上有没有方法返回配置bean?,java,spring-boot,conditional-statements,Java,Spring Boot,Conditional Statements,我正在寻找以下网站: @ConditionalOnResource(resources = "${spring.info.build.location:classpath:META-INF/build-info.properties}") 我想要类似于@ConditionalOnMissingResource 有什么想法吗?也许有一个更短甚至更聪明的选择,但这对我很有用 用 @Conditional(BuildInfoResourceNotAvailableConditio

我正在寻找以下网站:

@ConditionalOnResource(resources = "${spring.info.build.location:classpath:META-INF/build-info.properties}")
我想要类似于
@ConditionalOnMissingResource


有什么想法吗?

也许有一个更短甚至更聪明的选择,但这对我很有用

@Conditional(BuildInfoResourceNotAvailableCondition.class)
并将此静态嵌套类添加到配置类:

静态类buildInformesourceNotAvailableCondition扩展了SpringBootCondition{
private final ResourceLoader defaultResourceLoader=新的defaultResourceLoader();
@凌驾
public ConditionOutput GetMatchOutput(ConditionContext上下文,AnnotatedTypeMetadata元数据){
ResourceLoader=context.getResourceLoader();
加载器=(加载器!=null)?加载器:this.defaultResourceLoader;
Environment=context.getEnvironment();
字符串location=environment.getProperty(“spring.info.build.location”);
if(位置==null){
location=“classpath:META-INF/build info.properties”;
}
ConditionMessage.Builder message=ConditionMessage
.forCondition(“构建信息资源”);
如果(!loader.getResource(location).exists()){
返回条件结果
.match(message.didNotFind(“构建信息位于”).items(位置));
}
返回条件结果
.noMatch(message.found(“build info at”).items(location));
}
}

也许有一个更短甚至更聪明的选择,但这对我来说很有效

@Conditional(BuildInfoResourceNotAvailableCondition.class)
并将此静态嵌套类添加到配置类:

静态类buildInformesourceNotAvailableCondition扩展了SpringBootCondition{
private final ResourceLoader defaultResourceLoader=新的defaultResourceLoader();
@凌驾
public ConditionOutput GetMatchOutput(ConditionContext上下文,AnnotatedTypeMetadata元数据){
ResourceLoader=context.getResourceLoader();
加载器=(加载器!=null)?加载器:this.defaultResourceLoader;
Environment=context.getEnvironment();
字符串location=environment.getProperty(“spring.info.build.location”);
if(位置==null){
location=“classpath:META-INF/build info.properties”;
}
ConditionMessage.Builder message=ConditionMessage
.forCondition(“构建信息资源”);
如果(!loader.getResource(location).exists()){
返回条件结果
.match(message.didNotFind(“构建信息位于”).items(位置));
}
返回条件结果
.noMatch(message.found(“build info at”).items(location));
}
}