ref[storage]: refactor storage

This commit is contained in:
godotg committed 2023-09-03 00:47:55 +08:00
1 parent c05212799a
commit 0435d0f9d6
4 files changed
+8 -8

No files matched your search

@@ -28,7 +28,7 @@ import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
@Reflective
public @interface StorageInjection {
public @interface StorageAutowired {
String value() default "";
@@ -21,7 +21,7 @@ import com.zfoo.storage.StorageContext;
import com.zfoo.storage.anno.GraalvmNativeStorage;
import com.zfoo.storage.anno.Id;
import com.zfoo.storage.anno.Storage;
import com.zfoo.storage.anno.StorageInjection;
import com.zfoo.storage.anno.StorageAutowired;
import com.zfoo.storage.config.StorageConfig;
import com.zfoo.storage.interpreter.data.StorageEnum;
import com.zfoo.storage.model.StorageDefinition;
@@ -139,7 +139,7 @@ public class StorageManager implements IStorageManager {
var componentBeans = applicationContext.getBeansWithAnnotation(Component.class);
for (var bean : componentBeans.values()) {
var clazz = bean.getClass();
ReflectionUtils.filterFieldsInClass(clazz, field -> field.isAnnotationPresent(StorageInjection.class), field -> {
ReflectionUtils.filterFieldsInClass(clazz, field -> field.isAnnotationPresent(StorageAutowired.class), field -> {
Type type = field.getGenericType();
if (!(type instanceof ParameterizedType)) {
@@ -13,7 +13,7 @@
package com.zfoo.storage;
import com.zfoo.storage.anno.StorageInjection;
import com.zfoo.storage.anno.StorageAutowired;
import com.zfoo.storage.manager.IStorage;
import com.zfoo.storage.resource.StudentCsvResource;
import com.zfoo.storage.resource.StudentResource;
@@ -26,9 +26,9 @@ import org.springframework.stereotype.Component;
@Component
public class StudentManager {
@StorageInjection
@StorageAutowired
public IStorage<Integer, StudentResource> studentResources;
@StorageInjection
@StorageAutowired
public IStorage<Integer, StudentCsvResource> studentCsvResources;
}
@@ -13,7 +13,7 @@
package com.zfoo.storage;
import com.zfoo.storage.anno.StorageInjection;
import com.zfoo.storage.anno.StorageAutowired;
import com.zfoo.storage.manager.IStorage;
import com.zfoo.storage.resource.TestResource;
import org.springframework.stereotype.Component;
@@ -25,7 +25,7 @@ import org.springframework.stereotype.Component;
@Component
public class TestManager {
@StorageInjection
@StorageAutowired
public IStorage<Integer, TestResource> testResources;
}