@Bean @ConditionalOnResource(resources = "classpath:shiro.ini") protected Realm iniClasspathRealm() { return iniRealmFromLocation("classpath:shiro.ini"); }
@Bean @ConditionalOnResource(resources = "classpath:META-INF/shiro.ini") protected Realm iniMetaInfClasspathRealm() { return iniRealmFromLocation("classpath:META-INF/shiro.ini"); }
/** * Created by Format on 2017/5/16. */ @ConditionalOnResource(resources = "mybatis.xml") @Component public class ConditionResourceBean { }
/** * {@link EnableAutoConfiguration Auto-configuration} for Atlassian Connect add-ons using Spring Data JPA and Liquibase. */ @Configuration @ConditionalOnResource(resources = "classpath:atlassian-connect.json") @AutoConfigureAfter({ DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class }) @AutoConfigureBefore(LiquibaseAutoConfiguration.class) @EnableJpaRepositories(basePackageClasses = {AtlassianHostRepository.class}) @EnableJpaAuditing @PropertySource("classpath:config/atlassian-connect-spring-boot-jpa-starter.properties") public class AtlassianJpaAutoConfiguration {}
/** * Activate method validation in every module. */ @Configuration @ConditionalOnClass(ExecutableValidator.class) @ConditionalOnBean(Validator.class) @ConditionalOnResource(resources = "classpath:META-INF/services/javax.validation.spi.ValidationProvider") static class MethodValidationConfiguration { @Bean @ConditionalOnMissingBean(search = SearchStrategy.CURRENT) public static MethodValidationPostProcessor methodValidationPostProcessor( Environment environment, @Lazy Validator validator ) { MethodValidationPostProcessor processor = new MethodValidationPostProcessor(); processor.setProxyTargetClass( determineProxyTargetClass( environment ) ); processor.setValidator( validator ); return processor; } private static boolean determineProxyTargetClass( Environment environment ) { RelaxedPropertyResolver resolver = new RelaxedPropertyResolver( environment, "spring.aop." ); Boolean value = resolver.getProperty( "proxyTargetClass", Boolean.class ); return ( value != null ? value : true ); } } }
@Configuration @ConditionalOnClass(TextTemplateRenderingEngine.class) @ConditionalOnResource(resources = "${ratpack.templatesPath:templates}") protected static class GroovyTemplateConfiguration { @Autowired private RatpackProperties ratpack; @Bean @ConditionalOnMissingBean public MarkupTemplateModule markupTemplateGuiceModule() { MarkupTemplateModule module = new MarkupTemplateModule(); module.configure(config -> { config.setTemplatesDirectory(this.ratpack.getTemplatesPath()); }); return module; } @Bean @ConditionalOnMissingBean public TextTemplateModule textTemplateGuiceModule() { TextTemplateModule module = new TextTemplateModule(); module.configure(config -> { config.setTemplatesPath(this.ratpack.getTemplatesPath()); config.setStaticallyCompile(this.ratpack.isStaticallyCompile()); }); return module; } }
@ConditionalOnResource(resources = BlazeDsAutoConfiguration.SERVICES_CONFIG_PATH) public class BlazeDsAutoConfiguration extends WebMvcConfigurationSupport {
@Bean @ConditionalOnProperty("soap.messages.extract") @ConditionalOnResource(resources = "classpath:logback-spring.xml") public String extractionActivatedLogger() { ((SoapMessageLoggingInInterceptor) logInInterceptorSoapMsgLogger()).extractSoapMessage(true); ((SoapMessageLoggingOutInterceptor) logOutInterceptorSoapMsgLogger()).extractSoapMessage(true); return "unused - this is just to activate Extraction of SoapMessages via SpringBoot"; }
@ConditionalOnProperty(prefix = "formatter", name = "enabled", havingValue = "true", matchIfMissing = true) // 当属性配置不存在时,同样视作匹配 @ConditionalOnResource(resources = "META-INF/spring.factories") @ConditionalOnNotWebApplication @ConditionalOnExpression("${formatter.enabled:true}")