refactor: Configuration => AutoConfiguration

This commit is contained in:
2023-11-21 22:14:41 +08:00
parent 7973f6c2dc
commit 534d9ae9cf
6 changed files with 12 additions and 14 deletions

View File

@@ -22,11 +22,10 @@ import io.swagger.v3.oas.models.info.Info;
import io.swagger.v3.oas.models.info.License; import io.swagger.v3.oas.models.info.License;
import jakarta.annotation.PostConstruct; import jakarta.annotation.PostConstruct;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy;
import top.charles7c.continew.starter.core.autoconfigure.ProjectProperties; import top.charles7c.continew.starter.core.autoconfigure.ProjectProperties;
/** /**
@@ -36,8 +35,7 @@ import top.charles7c.continew.starter.core.autoconfigure.ProjectProperties;
* @since 1.0.0 * @since 1.0.0
*/ */
@Slf4j @Slf4j
@Lazy @AutoConfiguration
@Configuration(proxyBeanMethods = false)
@ConditionalOnProperty(name = "springdoc.swagger-ui.enabled", havingValue = "true") @ConditionalOnProperty(name = "springdoc.swagger-ui.enabled", havingValue = "true")
public class SpringDocAutoConfiguration { public class SpringDocAutoConfiguration {

View File

@@ -16,8 +16,8 @@
package top.charles7c.continew.starter.apidoc.autoconfigure; package top.charles7c.continew.starter.apidoc.autoconfigure;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import org.springframework.http.CacheControl; import org.springframework.http.CacheControl;
import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
@@ -32,7 +32,7 @@ import java.util.concurrent.TimeUnit;
* @since 1.0.0 * @since 1.0.0
*/ */
@EnableWebMvc @EnableWebMvc
@Configuration(proxyBeanMethods = false) @AutoConfiguration
@ConditionalOnProperty(name = "springdoc.swagger-ui.enabled", havingValue = "true") @ConditionalOnProperty(name = "springdoc.swagger-ui.enabled", havingValue = "true")
public class StaticResourceAutoConfiguration implements WebMvcConfigurer { public class StaticResourceAutoConfiguration implements WebMvcConfigurer {

View File

@@ -17,12 +17,12 @@
package top.charles7c.continew.starter.core.autoconfigure.cors; package top.charles7c.continew.starter.core.autoconfigure.cors;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
@@ -37,7 +37,7 @@ import top.charles7c.continew.starter.core.constant.StringConsts;
*/ */
@Slf4j @Slf4j
@Lazy @Lazy
@Configuration(proxyBeanMethods = false) @AutoConfiguration
@ConditionalOnWebApplication @ConditionalOnWebApplication
@ConditionalOnProperty(prefix = "cors", name = "enabled", havingValue = "true") @ConditionalOnProperty(prefix = "cors", name = "enabled", havingValue = "true")
@EnableConfigurationProperties(CorsProperties.class) @EnableConfigurationProperties(CorsProperties.class)

View File

@@ -19,8 +19,8 @@ package top.charles7c.continew.starter.core.autoconfigure.threadpool;
import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ArrayUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler; import org.springframework.aop.interceptor.AsyncUncaughtExceptionHandler;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.annotation.AsyncConfigurer; import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
@@ -39,7 +39,7 @@ import java.util.concurrent.ScheduledExecutorService;
*/ */
@Slf4j @Slf4j
@Lazy @Lazy
@Configuration(proxyBeanMethods = false) @AutoConfiguration
@ConditionalOnProperty(prefix = "thread-pool", name = "enabled", havingValue = "true") @ConditionalOnProperty(prefix = "thread-pool", name = "enabled", havingValue = "true")
@EnableAsync(proxyTargetClass = true) @EnableAsync(proxyTargetClass = true)
public class AsyncAutoConfiguration implements AsyncConfigurer { public class AsyncAutoConfiguration implements AsyncConfigurer {

View File

@@ -19,11 +19,11 @@ package top.charles7c.continew.starter.core.autoconfigure.threadpool;
import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.thread.ThreadUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Lazy; import org.springframework.context.annotation.Lazy;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor; import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import top.charles7c.continew.starter.core.util.ExceptionUtils; import top.charles7c.continew.starter.core.util.ExceptionUtils;
@@ -41,7 +41,7 @@ import java.util.concurrent.ThreadPoolExecutor;
*/ */
@Slf4j @Slf4j
@Lazy @Lazy
@Configuration(proxyBeanMethods = false) @AutoConfiguration
@ConditionalOnProperty(prefix = "thread-pool", name = "enabled", havingValue = "true") @ConditionalOnProperty(prefix = "thread-pool", name = "enabled", havingValue = "true")
@EnableConfigurationProperties(ThreadPoolProperties.class) @EnableConfigurationProperties(ThreadPoolProperties.class)
public class ThreadPoolAutoConfiguration { public class ThreadPoolAutoConfiguration {

View File

@@ -26,9 +26,9 @@ import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer; import com.fasterxml.jackson.datatype.jsr310.ser.LocalTimeSerializer;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.autoconfigure.AutoConfiguration;
import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer;
import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import top.charles7c.continew.starter.json.jackson.serializer.BigNumberSerializer; import top.charles7c.continew.starter.json.jackson.serializer.BigNumberSerializer;
import java.math.BigDecimal; import java.math.BigDecimal;
@@ -46,7 +46,7 @@ import java.util.TimeZone;
* @since 1.0.0 * @since 1.0.0
*/ */
@Slf4j @Slf4j
@Configuration(proxyBeanMethods = false) @AutoConfiguration
public class JacksonAutoConfiguration { public class JacksonAutoConfiguration {
@Bean @Bean