Skip to content

Commit e4b5135

Browse files
committed
自动注册扩展方法
1 parent e730556 commit e4b5135

1 file changed

Lines changed: 12 additions & 0 deletions

File tree

src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIAutoConfiguration.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,8 @@
3232
import org.ssssssss.script.MagicModuleLoader;
3333
import org.ssssssss.script.MagicScript;
3434
import org.ssssssss.script.MagicScriptEngine;
35+
import org.ssssssss.script.functions.ExtensionMethod;
36+
import org.ssssssss.script.interpreter.AbstractReflection;
3537

3638
import javax.servlet.http.HttpServletRequest;
3739
import javax.sql.DataSource;
@@ -135,6 +137,7 @@ public MagicApiService magicApiService(DynamicDataSource dynamicDataSource) {
135137

136138
@Bean
137139
public RequestHandler requestHandler(@Autowired(required = false) List<MagicModule> magicModules, //定义的模块集合
140+
@Autowired(required = false) List<ExtensionMethod> extensionMethods, //自定义的类型扩展
138141
MagicApiService magicApiService,
139142
// 动态数据源
140143
DynamicDataSource dynamicDataSource,
@@ -198,6 +201,15 @@ protected String getColumnKey(String columnName) {
198201
MagicModuleLoader.addModule(module.getModuleName(), module);
199202
}
200203
}
204+
if (extensionMethods != null) {
205+
for (ExtensionMethod extension : extensionMethods) {
206+
List<Class<?>> supports = extension.supports();
207+
for (Class<?> support : supports) {
208+
logger.info("注册扩展:{} -> {}", support, extension.getClass());
209+
AbstractReflection.getInstance().registerExtensionClass(support, extension.getClass());
210+
}
211+
}
212+
}
201213
DatabaseQuery query = new DatabaseQuery(dynamicDataSource);
202214
query.setResultProvider(resultProvider);
203215
query.setPageProvider(pageProvider);

0 commit comments

Comments
 (0)