diff --git a/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/annotation/EnableCrudRestController.java b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/annotation/EnableCrudRestController.java new file mode 100644 index 00000000..f65e7cfe --- /dev/null +++ b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/annotation/EnableCrudRestController.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *
+ * http://www.gnu.org/licenses/lgpl.html + *
+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.continew.starter.extension.crud.annotation; + +import org.springframework.context.annotation.Import; +import top.charles7c.continew.starter.extension.crud.autoconfigure.CrudRestControllerAutoConfiguration; + +import java.lang.annotation.*; + +/** + * CRUD REST Controller 启用注解 + * + * @author Charles7c + * @since 1.2.0 + */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Import({CrudRestControllerAutoConfiguration.class}) +public @interface EnableCrudRestController { +} diff --git a/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/annotation/EnableGlobalExceptionHandler.java b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/annotation/EnableGlobalExceptionHandler.java new file mode 100644 index 00000000..2c7dcea0 --- /dev/null +++ b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/annotation/EnableGlobalExceptionHandler.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2022-present Charles7c Authors. All Rights Reserved. + *
+ * Licensed under the GNU LESSER GENERAL PUBLIC LICENSE 3.0; + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *
+ * http://www.gnu.org/licenses/lgpl.html + *
+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package top.charles7c.continew.starter.extension.crud.annotation; + +import org.springframework.context.annotation.Import; +import top.charles7c.continew.starter.extension.crud.autoconfigure.GlobalExceptionHandlerAutoConfiguration; + +import java.lang.annotation.*; + +/** + * 全局异常、错误处理器启用注解 + * + * @author Charles7c + * @since 1.2.0 + */ +@Target({ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Import({GlobalExceptionHandlerAutoConfiguration.class}) +public @interface EnableGlobalExceptionHandler { +} diff --git a/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/CrudAutoConfiguration.java b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/CrudRestControllerAutoConfiguration.java similarity index 90% rename from continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/CrudAutoConfiguration.java rename to continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/CrudRestControllerAutoConfiguration.java index bf3fa42f..f5d57f99 100644 --- a/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/CrudAutoConfiguration.java +++ b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/CrudRestControllerAutoConfiguration.java @@ -19,8 +19,8 @@ package top.charles7c.continew.starter.extension.crud.autoconfigure; import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Primary; import org.springframework.format.support.FormattingConversionService; import org.springframework.web.accept.ContentNegotiationManager; @@ -30,14 +30,14 @@ import org.springframework.web.servlet.resource.ResourceUrlProvider; import top.charles7c.continew.starter.extension.crud.handler.CrudRequestMappingHandlerMapping; /** - * CRUD 自动配置 + * CRUD REST Controller 自动配置 * * @author Charles7c * @since 1.0.0 */ @Slf4j -@AutoConfiguration -public class CrudAutoConfiguration extends DelegatingWebMvcConfiguration { +@Configuration +public class CrudRestControllerAutoConfiguration extends DelegatingWebMvcConfiguration { /** * CRUD 请求映射器处理器映射器(覆盖默认 RequestMappingHandlerMapping) @@ -58,6 +58,6 @@ public class CrudAutoConfiguration extends DelegatingWebMvcConfiguration { @PostConstruct public void postConstruct() { - log.debug("[ContiNew Starter] - Auto Configuration 'Extension-CRUD' completed initialization."); + log.debug("[ContiNew Starter] - Auto Configuration 'Extension-CRUD REST Controller' completed initialization."); } } diff --git a/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/GlobalExceptionHandlerAutoConfiguration.java b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/GlobalExceptionHandlerAutoConfiguration.java index a820c17b..0e38cb2d 100644 --- a/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/GlobalExceptionHandlerAutoConfiguration.java +++ b/continew-starter-extension/continew-starter-extension-crud/src/main/java/top/charles7c/continew/starter/extension/crud/autoconfigure/GlobalExceptionHandlerAutoConfiguration.java @@ -16,11 +16,11 @@ package top.charles7c.continew.starter.extension.crud.autoconfigure; +import jakarta.annotation.PostConstruct; import lombok.extern.slf4j.Slf4j; -import org.springframework.boot.autoconfigure.AutoConfiguration; import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean; import org.springframework.boot.autoconfigure.web.servlet.error.BasicErrorController; -import org.springframework.context.annotation.ComponentScan; +import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Import; import top.charles7c.continew.starter.extension.crud.handler.GlobalErrorHandler; import top.charles7c.continew.starter.extension.crud.handler.GlobalExceptionHandler; @@ -32,9 +32,13 @@ import top.charles7c.continew.starter.extension.crud.handler.GlobalExceptionHand * @since 1.0.0 */ @Slf4j -@AutoConfiguration +@Configuration(proxyBeanMethods = false) @Import({GlobalExceptionHandler.class, GlobalErrorHandler.class}) @ConditionalOnMissingBean(BasicErrorController.class) -@ComponentScan("top.charles7c.continew.starter.extension.crud.handler") public class GlobalExceptionHandlerAutoConfiguration { + + @PostConstruct + public void postConstruct() { + log.debug("[ContiNew Starter] - Auto Configuration 'Extension-Global Exception Handler' completed " + "initialization."); + } } diff --git a/continew-starter-extension/continew-starter-extension-crud/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/continew-starter-extension/continew-starter-extension-crud/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports index 7f744310..e69de29b 100644 --- a/continew-starter-extension/continew-starter-extension-crud/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports +++ b/continew-starter-extension/continew-starter-extension-crud/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -1,2 +0,0 @@ -top.charles7c.continew.starter.extension.crud.autoconfigure.CrudAutoConfiguration -top.charles7c.continew.starter.extension.crud.autoconfigure.GlobalExceptionHandlerAutoConfiguration \ No newline at end of file