- 实现jpa对Long类型的时间戳的created_at, updated_at和deleted_at字段的自动维护
- 日志集成elk
- 日期和json工具类
- 集成redis
- 集成数据库操作jpa
- 集成swagger文档
- 控制器发生错误,全局拦截
- 支持docker部署
- 支持k8s部署
- 支持json序列化时自定义小数位数
- 接口版本控制
- 保留精度的数学计算工具类
- http请求工具类
- redis和redis分布式锁工具类
- json响应工具类
- 支持Jenkinsfile构建
- 二维码生成工具类
- redis阻塞消息队列
- id生成工具类
<dependency>
<groupId>com.github.neatlife</groupId>
<artifactId>jframework</artifactId>
<version>0.0.11</version>
</dependency>
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://127.0.0.1/jframework?useUnicode=yes&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true
spring.datasource.username=root
spring.datasource.password=root
spring.jpa.open-in-view=false
logging.level.root=INFO
logging.config=classpath:logback-spring.xml
spring.mail.host=smtp.qq.com
spring.mail.port=587
spring.mail.username=username
spring.mail.password=password
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
logging.level.org.hibernate.SQL=DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
spring.jpa.properties.hibernate.format_sql=true
# Redis数据库索引(默认为0)
spring.redis.database=0
# Redis服务器地址
spring.redis.host=localhost
# Redis服务器连接端口
spring.redis.port=6379
# Redis服务器连接密码(默认为空)
spring.redis.password=
# 连接池最大连接数(使用负值表示没有限制) 默认 8
spring.redis.lettuce.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1
spring.redis.lettuce.pool.max-wait=-1
# 连接池中的最大空闲连接 默认 8
spring.redis.lettuce.pool.max-idle=8
# 连接池中的最小空闲连接 默认 0
spring.redis.lettuce.pool.min-idle=0
# 防止邮件重发
jframework.mail.enable-no-repeat=false
jframework.mail.repeat-interval=600
# 钉钉机器人地址
jframework.notification.ding-talk-url=https://oapi.dingtalk.com/robot/send?access_token=钉钉机器人token
jframework.notification.ding-talk-to=钉钉收件人手机号
# 本地调试
mvn clean package
docker build -t jframework .
docker run -it --rm -p 8780:8080 jframework
# 推送阿里云
docker build -t jframework .
docker tag jframework:latest registry.cn-hangzhou.aliyuncs.com/suxiaolin/jframework:latest
docker push registry.cn-hangzhou.aliyuncs.com/suxiaolin/jframework:latest
访问127.0.0.1:8780即可看到输出效果
$.date.currentSecond() 获取当前unix时间戳,单位为秒
MapperUtil::to(对象1, SomeClass.class) 创建SomeClass类的对象,并把对象1的属性复制到SomeClass的对象上, 在stream流式类型转换时非常有用
orderList
.stream()
.map(order -> $.mapper.to(order, OrderDto.class))
.collect(Collectors.toList());
目前支持对Double和BigDecimal两种类型进行自定义小数位数
Double: 在字段上加上DoubleSpecify(2)注解即可,2是需要保留的小数位数
BigDecimal: 在字段上加上BigDecimalSpecify(2)
StringLength 验证器,验证参数字符串的长度范围
logging.pattern.console=%clr(%d{yyyy-MM-dd HH:mm:ss}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.400logger{390}):%line{cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}
input {
redis {
data_type => "list"
key => "logstash"
host => "127.0.0.1"
port => 6379
threads => 5
codec => "json"
}
}
filter {
}
output {
elasticsearch {
hosts => ["elasticsearch:9200"]
index => "logstash-%{type}-%{+YYYY.MM.dd}"
document_type => "%{type}"
workers => 1
template_overwrite => true
}
stdout{}
}
- https://github.com/kmtong/logback-redis-appender
- https://github.com/looly/hutool
- https://github.com/gudaoxuri/dew-common
- https://github.com/gudaoxuri/dew
- https://github.com/xdd-organ/xdd-nasa
- https://github.com/indrabasak/swagger-deepdive
- https://github.com/ityouknow/spring-boot-examples
- https://github.com/WellJay/spring-data-redis-tools
- https://github.com/WuNanliang/demo-csv
- https://github.com/SargerasWang/ExcelUtil.git