package com.qianwen.core.scanner.config;
|
|
import com.qianwen.core.scanner.config.properties.ScannerProperties;
|
import com.qianwen.core.scanner.modular.ApiResourceScanner;
|
import com.qianwen.core.scanner.modular.constants.ConfigPrefixConstants;
|
import com.qianwen.core.scanner.modular.factory.ApiResourceFactory;
|
import com.qianwen.core.scanner.modular.factory.DefaultApiResourceFactory;
|
import com.qianwen.core.scanner.modular.listener.ResourceReportListener;
|
import com.qianwen.core.scanner.modular.service.ResourceCollectService;
|
import org.springframework.beans.factory.annotation.Value;
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
import org.springframework.boot.context.properties.ConfigurationProperties;
|
import org.springframework.context.annotation.Bean;
|
import org.springframework.context.annotation.Configuration;
|
import org.springframework.scheduling.annotation.EnableAsync;
|
|
@Configuration
|
@EnableAsync
|
/* loaded from: blade-starter-scanner-9.3.0.0-SNAPSHOT.jar:org/springblade/core/scanner/config/ScannerAutoConfiguration.class */
|
public class ScannerAutoConfiguration {
|
@Value("${spring.application.name}")
|
private String applicationName;
|
|
@ConfigurationProperties(prefix = ConfigPrefixConstants.SCANNER_PREFIX)
|
@Bean
|
public ScannerProperties scannerProperties() {
|
return new ScannerProperties();
|
}
|
|
@Bean
|
public ApiResourceFactory apiResourceFactory() {
|
return new DefaultApiResourceFactory();
|
}
|
|
@ConditionalOnProperty(prefix = ConfigPrefixConstants.SCANNER_PREFIX, name = {"open"}, havingValue = "true")
|
@Bean
|
public ResourceCollectService resourceCollectService(ApiResourceFactory apiResourceFactory, ScannerProperties scannerProperties) {
|
return new ResourceCollectService(apiResourceFactory, scannerProperties);
|
}
|
|
@ConditionalOnProperty(prefix = ConfigPrefixConstants.SCANNER_PREFIX, name = {"open"}, havingValue = "true")
|
@Bean
|
public ApiResourceScanner apiResourceScaner(ApiResourceFactory apiResourceFactory, ScannerProperties scannerProperties) {
|
return new ApiResourceScanner(apiResourceFactory, scannerProperties, this.applicationName);
|
}
|
|
@ConditionalOnProperty(prefix = ConfigPrefixConstants.SCANNER_PREFIX, name = {"open"}, havingValue = "true")
|
@Bean
|
public ResourceReportListener resourceReportListener(ScannerProperties scannerProperties) {
|
return new ResourceReportListener(scannerProperties, this.applicationName);
|
}
|
}
|