Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
T
think-tank
概览
概览
详情
活动
周期分析
版本库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程表
图表
维基
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
张京坤
think-tank
Commits
93ad30e1
提交
93ad30e1
authored
7月 09, 2024
作者:
zgz
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
跨域处理
上级
26950382
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
231 行增加
和
0 行删除
+231
-0
RedisConfig.java
src/main/java/com/zzsn/thinktank/config/RedisConfig.java
+31
-0
WebConfig.java
src/main/java/com/zzsn/thinktank/config/WebConfig.java
+77
-0
DataPermitInterceptor.java
...n/thinktank/config/interceptor/DataPermitInterceptor.java
+37
-0
MyMetaObjectHandler.java
...zsn/thinktank/config/mybatisplus/MyMetaObjectHandler.java
+18
-0
MybatisPlusConfig.java
.../zzsn/thinktank/config/mybatisplus/MybatisPlusConfig.java
+45
-0
ExecutorConfig.java
.../com/zzsn/thinktank/config/threadPool/ExecutorConfig.java
+23
-0
没有找到文件。
src/main/java/com/zzsn/thinktank/config/RedisConfig.java
0 → 100644
浏览文件 @
93ad30e1
package
com
.
zzsn
.
thinktank
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
/**
* @author lkg
*/
@Configuration
public
class
RedisConfig
{
@Bean
(
name
=
"redisTemplate"
)
public
RedisTemplate
<
Object
,
Object
>
redisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
<
Object
,
Object
>
template
=
new
RedisTemplate
<>();
template
.
setConnectionFactory
(
factory
);
//设置序列化Key的实例化对象
template
.
setKeySerializer
(
new
StringRedisSerializer
());
//设置序列化Value的实例化对象
template
.
setValueSerializer
(
new
GenericJackson2JsonRedisSerializer
());
//设置序列化Key的实例化对象
template
.
setHashKeySerializer
(
new
GenericJackson2JsonRedisSerializer
());
//设置序列化Key的实例化对象
template
.
setHashValueSerializer
(
new
GenericJackson2JsonRedisSerializer
());
template
.
afterPropertiesSet
();
return
template
;
}
}
src/main/java/com/zzsn/thinktank/config/WebConfig.java
0 → 100644
浏览文件 @
93ad30e1
package
com
.
zzsn
.
thinktank
.
config
;
import
cn.hutool.core.date.DateUtil
;
import
com.alibaba.fastjson.serializer.ValueFilter
;
import
com.alibaba.fastjson.support.config.FastJsonConfig
;
import
com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter
;
import
com.zzsn.thinktank.config.interceptor.DataPermitInterceptor
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.converter.HttpMessageConverter
;
import
org.springframework.web.servlet.config.annotation.CorsRegistry
;
import
org.springframework.web.servlet.config.annotation.EnableWebMvc
;
import
org.springframework.web.servlet.config.annotation.InterceptorRegistry
;
import
org.springframework.web.servlet.config.annotation.WebMvcConfigurer
;
import
javax.annotation.Resource
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* 整合 fastjson
* @author yanxin
* @date 2022年6月20日19:07:31
*/
@Configuration
@EnableWebMvc
public
class
WebConfig
implements
WebMvcConfigurer
{
//注入自定义拦截器
@Resource
DataPermitInterceptor
dataPermitInterceptor
;
@Override
public
void
configureMessageConverters
(
List
<
HttpMessageConverter
<?>>
converters
)
{
FastJsonHttpMessageConverter
fastJsonHttpMessageConverter
=
new
FastJsonHttpMessageConverter
();
FastJsonConfig
fastJsonConfig
=
new
FastJsonConfig
();
fastJsonConfig
.
setSerializeFilters
(
new
ValueFilter
()
{
@Override
public
Object
process
(
Object
object
,
String
name
,
Object
value
)
{
if
(
value
==
null
){
//如果需要返回null值,则此处返回""即可
return
""
;
}
if
(
value
instanceof
Date
){
return
DateUtil
.
format
((
Date
)
value
,
"yyyy-MM-dd HH:mm:ss"
);
}
return
value
;
}
});
fastJsonHttpMessageConverter
.
setFastJsonConfig
(
fastJsonConfig
);
List
<
MediaType
>
mediaTypes
=
new
ArrayList
<>();
mediaTypes
.
add
(
MediaType
.
APPLICATION_JSON_UTF8
);
fastJsonHttpMessageConverter
.
setSupportedMediaTypes
(
mediaTypes
);
converters
.
add
(
fastJsonHttpMessageConverter
);
}
@Override
public
void
addInterceptors
(
InterceptorRegistry
registry
)
{
/* registry.addInterceptor(dataPermitInterceptor)
.addPathPatterns("/**")
.excludePathPatterns("/LoginController/**", "/error");//放行路径
*/
WebMvcConfigurer
.
super
.
addInterceptors
(
registry
);
}
@Override
public
void
addCorsMappings
(
CorsRegistry
registry
){
registry
.
addMapping
(
"/**"
)
.
allowedOrigins
(
"*"
)
.
allowedMethods
(
"*"
)
.
allowedHeaders
(
"*"
);
}
}
\ No newline at end of file
src/main/java/com/zzsn/thinktank/config/interceptor/DataPermitInterceptor.java
0 → 100644
浏览文件 @
93ad30e1
package
com
.
zzsn
.
thinktank
.
config
.
interceptor
;
import
com.alibaba.fastjson.JSON
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.stereotype.Component
;
import
org.springframework.web.servlet.HandlerInterceptor
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
/**
* 数据权限拦截器
*
*
*/
@Component
@Slf4j
public
class
DataPermitInterceptor
implements
HandlerInterceptor
{
final
String
METHOD_GET
=
"get"
;
//进入controller之前执行的
@Override
public
boolean
preHandle
(
HttpServletRequest
request
,
HttpServletResponse
response
,
Object
handler
)
throws
Exception
{
if
(
METHOD_GET
.
equals
(
request
.
getMethod
().
toLowerCase
()))
{
log
.
info
(
"参数装配之前执行的,{},{}"
,
JSON
.
toJSONString
(
request
.
getParameterNames
()));
log
.
info
(
"参数装配之后执行的,{},{}"
,
JSON
.
toJSONString
(
request
.
getParameterNames
()));
}
else
{
log
.
info
(
"参数装配之前执行的,{}"
,
JSON
.
toJSONString
(
request
.
getParameterMap
()));
request
.
getParameterMap
().
put
(
"permit"
,
new
String
[]{
"权限数据"
});
log
.
info
(
"参数装配之后执行的,{}"
,
JSON
.
toJSONString
(
request
.
getParameterMap
()));
}
return
HandlerInterceptor
.
super
.
preHandle
(
request
,
response
,
handler
);
}
}
src/main/java/com/zzsn/thinktank/config/mybatisplus/MyMetaObjectHandler.java
0 → 100644
浏览文件 @
93ad30e1
package
com
.
zzsn
.
thinktank
.
config
.
mybatisplus
;
import
cn.hutool.core.date.DateTime
;
import
com.baomidou.mybatisplus.core.handlers.MetaObjectHandler
;
import
org.apache.ibatis.reflection.MetaObject
;
public
class
MyMetaObjectHandler
implements
MetaObjectHandler
{
@Override
public
void
insertFill
(
MetaObject
metaObject
)
{
this
.
setFieldValByName
(
"createTime"
,
new
DateTime
(),
metaObject
);
this
.
setFieldValByName
(
"updateTime"
,
new
DateTime
(),
metaObject
);
}
@Override
public
void
updateFill
(
MetaObject
metaObject
)
{
this
.
setFieldValByName
(
"updateTime"
,
new
DateTime
(),
metaObject
);
}
}
src/main/java/com/zzsn/thinktank/config/mybatisplus/MybatisPlusConfig.java
0 → 100644
浏览文件 @
93ad30e1
package
com
.
zzsn
.
thinktank
.
config
.
mybatisplus
;
import
com.baomidou.mybatisplus.extension.incrementer.OracleKeyGenerator
;
import
com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor
;
import
com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.transaction.annotation.EnableTransactionManagement
;
/**
* @author kongliufeng
* @Description mybatis-plus配置文件
* @create 2021-03-20 17:46
* @Version 1.0
*/
@EnableTransactionManagement
@Configuration
public
class
MybatisPlusConfig
{
/**
* mybatis-plus分页配置
*/
@Bean
public
MybatisPlusInterceptor
mybatisPlusInterceptor
()
{
MybatisPlusInterceptor
interceptor
=
new
MybatisPlusInterceptor
();
// 向MyBatis-Plus的过滤器链中添加分页拦截器,需要设置数据库类型(主要用于分页方言)
// 使用空参构造,自动匹配连接数据库类型
interceptor
.
addInnerInterceptor
(
new
PaginationInnerInterceptor
());
return
interceptor
;
}
/**
* Sequence主键自增
*
* @return 返回oracle自增类
* @author zhenggc
*/
@Bean
public
OracleKeyGenerator
oracleKeyGenerator
(){
return
new
OracleKeyGenerator
();
}
@Bean
public
MyMetaObjectHandler
myMetaObjectHandler
()
{
return
new
MyMetaObjectHandler
();
}
}
src/main/java/com/zzsn/thinktank/config/threadPool/ExecutorConfig.java
0 → 100644
浏览文件 @
93ad30e1
package
com
.
zzsn
.
thinktank
.
config
.
threadPool
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor
;
import
java.util.concurrent.ThreadPoolExecutor
;
@Configuration
public
class
ExecutorConfig
{
@Bean
public
ThreadPoolTaskExecutor
threadPoolTaskExecutor
()
{
ThreadPoolTaskExecutor
executor
=
new
ThreadPoolTaskExecutor
();
executor
.
setCorePoolSize
(
20
);
// Set core pool size
executor
.
setMaxPoolSize
(
50
);
// Set maximum pool size
executor
.
setQueueCapacity
(
100
);
// Set queue capacity
executor
.
setKeepAliveSeconds
(
60
);
// Set keep-alive time
executor
.
setThreadNamePrefix
(
"year-report-dataHandler-"
);
// Set thread name prefix
executor
.
setRejectedExecutionHandler
(
new
ThreadPoolExecutor
.
CallerRunsPolicy
());
// Set rejection policy
return
executor
;
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论