mxd 5 éve
szülő
commit
efc7326a3c

+ 41 - 5
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicAPIAutoConfiguration.java

@@ -89,6 +89,8 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 	public void addResourceHandlers(ResourceHandlerRegistry registry) {
 		String web = properties.getWeb();
 		if (web != null) {
+			// 当开启了UI界面时,收集日志
+			LoggerManager.createMagicAppender();
 			// 配置静态资源路径
 			registry.addResourceHandler(web + "/**").addResourceLocations("classpath:/magicapi-support/");
 			try {
@@ -110,12 +112,18 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return new DefaultPageProvider(pageConfig.getPage(), pageConfig.getSize(), pageConfig.getDefaultPage(), pageConfig.getDefaultSize());
 	}
 
+	/**
+	 * 注入结果构建方法
+	 */
 	@ConditionalOnMissingBean(ResultProvider.class)
 	@Bean
 	public ResultProvider resultProvider() {
 		return new DefaultResultProvider();
 	}
 
+	/**
+	 * 注入SQL缓存实现
+	 */
 	@ConditionalOnMissingBean(SqlCache.class)
 	@Bean
 	public SqlCache sqlCache() {
@@ -124,6 +132,9 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return new DefaultSqlCache(cacheConfig.getCapacity(), cacheConfig.getTtl());
 	}
 
+	/**
+	 * 注入接口映射
+	 */
 	@Bean
 	public MappingHandlerMapping mappingHandlerMapping() throws NoSuchMethodException {
 		MappingHandlerMapping handlerMapping = new MappingHandlerMapping();
@@ -140,6 +151,9 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return handlerMapping;
 	}
 
+	/**
+	 * 注入接口存储service
+	 */
 	@ConditionalOnMissingBean(ApiServiceProvider.class)
 	@Bean
 	public ApiServiceProvider apiServiceProvider(DynamicDataSource dynamicDataSource) {
@@ -147,12 +161,18 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return new DefaultApiServiceProvider(dynamicDataSource.getDataSource(properties.getDatasource()).getJdbcTemplate());
 	}
 
+	/**
+	 * 注入API调用Service
+	 */
 	@ConditionalOnMissingBean(MagicAPIService.class)
 	@Bean
 	public MagicAPIService magicAPIService(MappingHandlerMapping mappingHandlerMapping, ResultProvider resultProvider) {
 		return new DefaultMagicAPIService(mappingHandlerMapping, resultProvider, properties.isThrowException());
 	}
 
+	/**
+	 * 注入请求处理器
+	 */
 	@Bean
 	public RequestHandler requestHandler(@Autowired(required = false) List<MagicModule> magicModules, //定义的模块集合
 										 @Autowired(required = false) List<ExtensionMethod> extensionMethods, //自定义的类型扩展
@@ -163,9 +183,11 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 										 ResultProvider resultProvider) {
 		// 设置模块和扩展方法
 		setupMagicModules(resultProvider, magicModules, extensionMethods);
-		LoggerManager.createMagicAppender();    //收集日志
 		// 构建请求处理器
 		RequestHandler requestHandler = new RequestHandler();
+		if (this.properties.isBanner()) {
+			requestHandler.printBanner();
+		}
 		requestHandler.setResultProvider(resultProvider);
 		requestHandler.setThrowException(properties.isThrowException());
 		mappingHandlerMapping.setHandler(requestHandler);
@@ -178,9 +200,13 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return requestHandler;
 	}
 
+	/**
+	 * 注入数据库查询模块
+	 */
 	@Bean
 	public DatabaseQuery databaseQuery(DynamicDataSource dynamicDataSource, ResultProvider resultProvider, PageProvider pageProvider, SqlCache sqlCache) {
 		RowMapper<Map<String, Object>> rowMapper;
+		// 下划线转驼峰命名
 		if (properties.isMapUnderscoreToCamelCase()) {
 			logger.info("开启下划线转驼峰命名");
 			rowMapper = new ColumnMapRowMapper() {
@@ -217,6 +243,9 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return query;
 	}
 
+	/**
+	 * 注册模块、类型扩展
+	 */
 	private void setupMagicModules(ResultProvider resultProvider, List<MagicModule> magicModules, List<ExtensionMethod> extensionMethods) {
 		// 设置脚本import时 class加载策略
 		MagicModuleLoader.setClassLoader((className) -> {
@@ -263,6 +292,9 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		}
 	}
 
+	/**
+	 * 注册请求拦截器
+	 */
 	private void setupRequestInterceptor(WebUIController controller, RequestHandler requestHandler) {
 		// 设置拦截器信息
 		if (this.requestInterceptors != null) {
@@ -276,8 +308,12 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		}
 	}
 
+
+	/**
+	 * 创建UI对应的后台Controller
+	 */
 	private WebUIController createWebUIController(ResultProvider resultProvider, ApiServiceProvider apiServiceProvider, MappingHandlerMapping mappingHandlerMapping) {
-		if (properties.getWeb() == null) {
+		if (properties.getWeb() == null) {	//	判断是否开启了UI界面
 			return null;
 		}
 		WebUIController controller = new WebUIController();
@@ -285,9 +321,6 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		controller.setDebugTimeout(properties.getDebugConfig().getTimeout());
 		controller.setMagicApiService(apiServiceProvider);
 		controller.setMappingHandlerMapping(mappingHandlerMapping);
-		if (this.properties.isBanner()) {
-			controller.printBanner();
-		}
 		// 构建UI请求处理器
 		String base = properties.getWeb();
 		Method[] methods = WebUIController.class.getDeclaredMethods();
@@ -301,6 +334,9 @@ public class MagicAPIAutoConfiguration implements WebMvcConfigurer {
 		return controller;
 	}
 
+	/**
+	 * 注入动态数据源
+	 */
 	@Bean
 	@ConditionalOnMissingBean(DynamicDataSource.class)
 	public DynamicDataSource dynamicDataSource(DataSource dataSource) {

+ 6 - 0
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicMongoAutoConfiguration.java

@@ -12,10 +12,16 @@ import org.ssssssss.magicapi.functions.MongoFunctions;
 import org.ssssssss.script.interpreter.AbstractReflection;
 import org.ssssssss.script.interpreter.JavaReflection;
 
+/**
+ * mongo配置
+ */
 @ConditionalOnBean(MongoClient.class)
 @Configuration
 public class MagicMongoAutoConfiguration {
 
+	/**
+	 * 注入mongo模块
+	 */
 	@Bean
 	public MongoFunctions mongoFunctions(MongoClient mongoClient) {
 		AbstractReflection.getInstance().registerExtensionClass(MongoCollection.class, MongoCollectionExtension.class);

+ 6 - 0
src/main/java/org/ssssssss/magicapi/spring/boot/starter/MagicRedisAutoConfiguration.java

@@ -6,10 +6,16 @@ import org.springframework.context.annotation.Configuration;
 import org.springframework.data.redis.connection.RedisConnectionFactory;
 import org.ssssssss.magicapi.functions.RedisFunctions;
 
+/**
+ * redis配置
+ */
 @ConditionalOnBean(RedisConnectionFactory.class)
 @Configuration
 public class MagicRedisAutoConfiguration {
 
+	/**
+	 * 注入redis模块
+	 */
 	@Bean
 	public RedisFunctions redisFunctions(RedisConnectionFactory connectionFactory) {
 		return new RedisFunctions(connectionFactory);