|
@@ -1,23 +1,26 @@
|
|
|
----
|
|
|
-
|
|
|
----
|
|
|
-
|
|
|
# Elab-Spring
|
|
|
|
|
|
该项目用来针对一些Spring的拓展做一些统一的封装使得在使用上非常方便
|
|
|
|
|
|
这里只是大概介绍一下功能的使用。
|
|
|
|
|
|
-直接使用的话
|
|
|
+### 按需使用
|
|
|
|
|
|
```java
|
|
|
// 如果有相应的配置文件参数,需要将配置文件注入到里面来
|
|
|
@PropertySource(value = {"classpath:database.properties","classpath:autoConfig.properties"},encoding = "UTF-8")
|
|
|
// 直接导入相关的配置类
|
|
|
@Import({SpringCommonConfig.class, DataSourceConfigBean.class, JdbcBeanConfig.class, TransactionConfigBean.class})
|
|
|
+```
|
|
|
|
|
|
+### 直接使用
|
|
|
+
|
|
|
+```java
|
|
|
+@EnableElabSpring
|
|
|
```
|
|
|
|
|
|
+其中该注解内有很多方法,可以根据自己的需要进行开启关闭
|
|
|
+
|
|
|
------
|
|
|
|
|
|
[TOC]
|
|
@@ -26,7 +29,15 @@
|
|
|
|
|
|
## 功能介绍
|
|
|
|
|
|
-### SpringCommonConfig:基本的Spring相关的配置
|
|
|
+
|
|
|
+
|
|
|
+### 配置相关
|
|
|
+
|
|
|
+#### SpringCommonConfig
|
|
|
+
|
|
|
+基本的Spring相关的配置
|
|
|
+
|
|
|
+
|
|
|
|
|
|
封装了**ClientHttpRequestFactory**、**RestTemplate**、**PropertyPlaceholderConfigurer**等类.
|
|
|
|
|
@@ -39,8 +50,39 @@ httpClient.read.timeOut=120000
|
|
|
# 读取property配置文件的路径
|
|
|
spring.resources.path=classpath:*.properties
|
|
|
```
|
|
|
-### swagger 新增扫描多个包的情况
|
|
|
+
|
|
|
+
|
|
|
+#### ThreadConfiguration
|
|
|
+
|
|
|
+异步线程的相关配置,涵盖了定时线程、异步队列、并行线程等等
|
|
|
+
|
|
|
+具体的使用方式参考: `ThreadProcessUtils`
|
|
|
+
|
|
|
+#### SwaggerConfigBean
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+```
|
|
|
+#是否开启swagger
|
|
|
+swagger.enable=必填
|
|
|
+# controller路径
|
|
|
+swagger2.basePackage=必填
|
|
|
+# api的标题
|
|
|
+swagger2.title=必填
|
|
|
+# 描述
|
|
|
+swagger2.description=必填
|
|
|
+# 团队服务的URL
|
|
|
+swagger2.termsOfServiceUrl=必填
|
|
|
+# 许可证地址
|
|
|
+swagger2.licenseUrl=必填
|
|
|
+# 版本号
|
|
|
+swagger2.version=必填
|
|
|
+```
|
|
|
+
|
|
|
+##### swagger 新增扫描多个包的情况
|
|
|
+
|
|
|
`swagger2.basePackage` : 用以","号分割
|
|
|
+
|
|
|
```yaml
|
|
|
swagger2:
|
|
|
basePackage: com.elab.marketing.brand.service.impl,com.elab.marketing.brand.controllers
|
|
@@ -52,39 +94,9 @@ swagger2:
|
|
|
enable: true
|
|
|
```
|
|
|
|
|
|
-### DataSourceConfigBean : 数据源配置
|
|
|
-
|
|
|
-```perl
|
|
|
-
|
|
|
-default.driverClassName=
|
|
|
-default.url=
|
|
|
-default.username=
|
|
|
-default.password=
|
|
|
-default.filters=
|
|
|
-default.initialSize=5
|
|
|
-default.minIdle=10
|
|
|
-default.maxActive=50
|
|
|
-```
|
|
|
-
|
|
|
+#### SpringMvcConfig
|
|
|
|
|
|
-### JdbcBeanConfig : JDBC封装类配置
|
|
|
-可选配置
|
|
|
-```perl
|
|
|
-# jdbc的sql文件目录
|
|
|
-jdbc.config.path=sql
|
|
|
-
|
|
|
-# dao接口层扫描
|
|
|
-jdbc.config.scan=com.elab.**
|
|
|
-
|
|
|
-```
|
|
|
-
|
|
|
-### TransactionConfigBean : 事务配置
|
|
|
-针对事物相关的类进行配置
|
|
|
-
|
|
|
-> 这里需要注意的是一般 TransactionConfigBean、JdbcBeanConfig 依赖 DataSourceConfigBean 所以使用的时候,需要将这三个类都一次性导入
|
|
|
-
|
|
|
-
|
|
|
-#### SpringMvcConfig : 基本的SpringMVC容器相关的配置
|
|
|
+基本的SpringMVC容器相关的配置
|
|
|
|
|
|
封装了MultipartResolver等相关配置
|
|
|
|
|
@@ -93,37 +105,22 @@ jdbc.config.scan=com.elab.**
|
|
|
mvc.multipartResolver.MaxUploadSize=10485760
|
|
|
```
|
|
|
|
|
|
-### CommonException : 全局异常定义
|
|
|
+#### CommonException
|
|
|
+
|
|
|
+ 全局异常定义
|
|
|
+
|
|
|
直接注入就拥有全局异常功能
|
|
|
|
|
|
- `BusinessException` : 该异常表示业务中出现的参数不对,以及一些不会记录Log的异常会直接封装成code+msg返回给前端
|
|
|
--
|
|
|
-
|
|
|
-### LogResponseBodyAdvice : 日志id作为结果集返回
|
|
|
-直接注入拥有全局返回日志id的功能
|
|
|
|
|
|
+#### LogResponseBodyAdvice
|
|
|
|
|
|
-### SwaggerConfigBean : api对象配置
|
|
|
+日志id作为结果集返回
|
|
|
|
|
|
-```
|
|
|
-#是否开启swagger
|
|
|
-swagger.enable=必填
|
|
|
-# controller路径
|
|
|
-swagger2.basePackage=必填
|
|
|
-# api的标题
|
|
|
-swagger2.title=必填
|
|
|
-# 描述
|
|
|
-swagger2.description=必填
|
|
|
-# 团队服务的URL
|
|
|
-swagger2.termsOfServiceUrl=必填
|
|
|
-# 许可证地址
|
|
|
-swagger2.licenseUrl=必填
|
|
|
-# 版本号
|
|
|
-swagger2.version=必填
|
|
|
-```
|
|
|
+直接注入拥有全局返回日志id的功能
|
|
|
|
|
|
|
|
|
-### RestTemplateUtils
|
|
|
+#### RestTemplateUtils
|
|
|
- 新增`IRestFallback`回调接口
|
|
|
- `DefaultRestFallBack` 默认的回调 : 一旦请求出现异常,则将该次请求数据记录到`mng_http_failure_data`表中
|
|
|
> 如果业务有特殊处理,可以实现该接口去覆盖DefaultRestFallBack类的实现。
|
|
@@ -300,4 +297,4 @@ String c = completableFutureMap.get("C").get();
|
|
|
logger.info("获取对应的结果:" + a);
|
|
|
logger.info("获取对应的结果:" + b);
|
|
|
logger.info("获取对应的结果:" + c);
|
|
|
-```
|
|
|
+```
|