OnWebApplicationCondition.java 文件源码

java
阅读 22 收藏 0 点赞 0 评论 0

项目:lodsve-framework 作者:
private ConditionOutcome isWebApplication(ConditionContext context,
        AnnotatedTypeMetadata metadata, boolean required) {
    ConditionMessage.Builder message = ConditionMessage.forCondition(
            ConditionalOnWebApplication.class, required ? "(required)" : "");
    if (!ClassUtils.isPresent(WEB_CONTEXT_CLASS, context.getClassLoader())) {
        return ConditionOutcome
                .noMatch(message.didNotFind("web application classes").atAll());
    }
    if (context.getBeanFactory() != null) {
        String[] scopes = context.getBeanFactory().getRegisteredScopeNames();
        if (ObjectUtils.containsElement(scopes, "session")) {
            return ConditionOutcome.match(message.foundExactly("'session' scope"));
        }
    }
    if (context.getEnvironment() instanceof StandardServletEnvironment) {
        return ConditionOutcome
                .match(message.foundExactly("StandardServletEnvironment"));
    }
    if (context.getResourceLoader() instanceof WebApplicationContext) {
        return ConditionOutcome.match(message.foundExactly("WebApplicationContext"));
    }
    return ConditionOutcome.noMatch(message.because("not a web application"));
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号