|
32 | 32 | import org.ssssssss.script.MagicModuleLoader; |
33 | 33 | import org.ssssssss.script.MagicScript; |
34 | 34 | import org.ssssssss.script.MagicScriptEngine; |
| 35 | +import org.ssssssss.script.functions.ExtensionMethod; |
| 36 | +import org.ssssssss.script.interpreter.AbstractReflection; |
35 | 37 |
|
36 | 38 | import javax.servlet.http.HttpServletRequest; |
37 | 39 | import javax.sql.DataSource; |
@@ -135,6 +137,7 @@ public MagicApiService magicApiService(DynamicDataSource dynamicDataSource) { |
135 | 137 |
|
136 | 138 | @Bean |
137 | 139 | public RequestHandler requestHandler(@Autowired(required = false) List<MagicModule> magicModules, //定义的模块集合 |
| 140 | + @Autowired(required = false) List<ExtensionMethod> extensionMethods, //自定义的类型扩展 |
138 | 141 | MagicApiService magicApiService, |
139 | 142 | // 动态数据源 |
140 | 143 | DynamicDataSource dynamicDataSource, |
@@ -198,6 +201,15 @@ protected String getColumnKey(String columnName) { |
198 | 201 | MagicModuleLoader.addModule(module.getModuleName(), module); |
199 | 202 | } |
200 | 203 | } |
| 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 | + } |
201 | 213 | DatabaseQuery query = new DatabaseQuery(dynamicDataSource); |
202 | 214 | query.setResultProvider(resultProvider); |
203 | 215 | query.setPageProvider(pageProvider); |
|
0 commit comments