From 06efd06d93c23f6a203f1f464b33a1b1f4254526 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A6=82=E6=A2=A6=E6=8A=80=E6=9C=AF?= <596392912@qq.com> Date: Fri, 2 Jul 2021 22:15:33 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E6=B7=BB=E5=8A=A0=20DatabaseIniti?= =?UTF-8?q?alizer=20=E7=9B=B8=E5=85=B3=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ .../AutoDatabaseInitializerDetector.java | 35 +++++++++++++++++++ ...pendsOnDatabaseInitializationDetector.java | 35 +++++++++++++++++++ .../mica/auto/common/BootAutoType.java | 8 +++++ 4 files changed, 80 insertions(+) create mode 100644 src/main/java/net/dreamlu/mica/auto/annotation/AutoDatabaseInitializerDetector.java create mode 100644 src/main/java/net/dreamlu/mica/auto/annotation/AutoDependsOnDatabaseInitializationDetector.java diff --git a/README.md b/README.md index 0276d63..c228902 100644 --- a/README.md +++ b/README.md @@ -35,6 +35,8 @@ mica auto 采用 Annotation Processor,她不是什么新技术,在 jdk 1.6 | @AutoEnableCircuitBreaker | EnableCircuitBreaker | | @AutoConfigDataLocationResolver | ConfigDataLocationResolver | | @AutoConfigDataLoader | ConfigDataLoader | +| @AutoDatabaseInitializerDetector | DatabaseInitializerDetector | +| @AutoDependsOnDatabaseInitializationDetector | DependsOnDatabaseInitializationDetector | | @Component | EnableAutoConfiguration | | @AutoIgnore | 忽略,不生成到 spring.factories | | @AutoService | java Spi 生成配置 | diff --git a/src/main/java/net/dreamlu/mica/auto/annotation/AutoDatabaseInitializerDetector.java b/src/main/java/net/dreamlu/mica/auto/annotation/AutoDatabaseInitializerDetector.java new file mode 100644 index 0000000..162304d --- /dev/null +++ b/src/main/java/net/dreamlu/mica/auto/annotation/AutoDatabaseInitializerDetector.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2019-2029, Dreamlu 卢春梦 (596392912@qq.com & www.dreamlu.net). + *

+ * 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 net.dreamlu.mica.auto.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.SOURCE; + +/** + * DatabaseInitializerDetector 处理 + * + * @author L.cm + */ +@Documented +@Retention(SOURCE) +@Target(TYPE) +public @interface AutoDatabaseInitializerDetector { +} diff --git a/src/main/java/net/dreamlu/mica/auto/annotation/AutoDependsOnDatabaseInitializationDetector.java b/src/main/java/net/dreamlu/mica/auto/annotation/AutoDependsOnDatabaseInitializationDetector.java new file mode 100644 index 0000000..7fefd34 --- /dev/null +++ b/src/main/java/net/dreamlu/mica/auto/annotation/AutoDependsOnDatabaseInitializationDetector.java @@ -0,0 +1,35 @@ +/* + * Copyright (c) 2019-2029, Dreamlu 卢春梦 (596392912@qq.com & www.dreamlu.net). + *

+ * 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 net.dreamlu.mica.auto.annotation; + +import java.lang.annotation.Documented; +import java.lang.annotation.Retention; +import java.lang.annotation.Target; + +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.RetentionPolicy.SOURCE; + +/** + * DependsOnDatabaseInitializationDetector 处理 + * + * @author L.cm + */ +@Documented +@Retention(SOURCE) +@Target(TYPE) +public @interface AutoDependsOnDatabaseInitializationDetector { +} diff --git a/src/main/java/net/dreamlu/mica/auto/common/BootAutoType.java b/src/main/java/net/dreamlu/mica/auto/common/BootAutoType.java index 3732177..ce9e381 100644 --- a/src/main/java/net/dreamlu/mica/auto/common/BootAutoType.java +++ b/src/main/java/net/dreamlu/mica/auto/common/BootAutoType.java @@ -73,6 +73,14 @@ public enum BootAutoType { * auto ConfigDataLoader */ AUTO_CONFIG_DATA_LOADER(AutoConfigDataLoader.class.getName(), "org.springframework.boot.context.config.ConfigDataLoader"), + /** + * auto DatabaseInitializerDetector + */ + AUTO_DATABASE_INITIALIZER_DETECTOR(AutoDatabaseInitializerDetector.class.getName(), "org.springframework.boot.sql.init.dependency.DatabaseInitializerDetector"), + /** + * auto DependsOnDatabaseInitializationDetector + */ + AUTO_DEPENDS_ON_DATABASE_INITIALIZATION_DETECTOR(AutoDependsOnDatabaseInitializationDetector.class.getName(), "org.springframework.boot.sql.init.dependency.DependsOnDatabaseInitializationDetector"), ; private final String annotation; -- GitLab