从0开始搭建一个较健壮SpringBoot项目

个人经验笔记

1.创建Maven项目导入依赖

项目模块划分:

application  启动层     Application springboot启动类  application.xml(项目名称,服务端口,)等配置文件  ApplicationConfig(用来加载其他各模块包扫描)  跳板机AutoProxySsh(用于本地Socket连接内网集群,再连接内网的其他服务)

basic   数据层      Mybatis的spring配置类及Mapper注解定义(HimTddlMapper)   mapper接口  mapper.xml文件     实体类(DO DTO VO FORM DATA)    mybatis-config 配置一下驼峰   generator自动生成器

common   通用层  全局插件(Redis工具及配置,ES工具及配置)   全局常量    全局异常   返回结果   全局工具(DateUtil,StringUtil, JSONUtil,HttpUtil等)  common实体类(公司员工类,部门类等)

core  核心业务层   facade  repository   task  分布式锁  

test   测试层    applicationTest启动类   applicationConfig(加载其他各个模块的包扫描)   跳板机   testCase(各个层覆盖的用例)   测试父类

web   网络层    controller  tokenManager  SessionUtil   登录拦截器  

引入pom依赖

父pom依赖  主要是全局依赖及各依赖版本号配置

各模块子pom依赖  各个模块所需依赖

application.xml 文件

server.port=7001
project.name=him-dashboard
# �ڱ�����ʱ��Ĭ����test��������������ʱ��Ҫͨ�� -Dspring.profiles.active= ��ָ��
spring.profiles.active=dev
# aop
spring.aop.proxy-target-class=true


#pagehelper����
pagehelper.helper-dialect=mysql
pagehelper.reasonable=true
pagehelper.support-methods-arguments=true
pagehelper.params=count=countSql
#zone and time format
spring.jackson.time-zone=Asia/Shanghai
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss.SSS



#����
druid.driverClassName=com.mysql.cj.jdbc.Driver
druid.initialSize=8
druid.minIdle=4
druid.maxActive=20
druid.maxWait=3000

#him�� �DZ�������
him.druid.driverClassName=com.mysql.cj.jdbc.Driver
him.druid.initialSize=8
him.druid.minIdle=8
him.druid.maxActive=40
him.druid.maxWait=10000


#grpc
#grpc.server.address = 192.168.1.160
#grpc.server.port = 13086

#grpc broker��
grpc.client.broker.address= static://192.168.1.160:13086
grpc.client.broker.negotiationType=PLAINTEXT
#grpc him��
grpc.client.im.address=static://192.1.130.230:16061
grpc.client.im.negotiationType=PLAINTEXT


#钉钉接口所需要的一些权限key
dingDing.appKey=dingbnj867zntkkjtsaq
dingDing.appSecret=CtKfc0eixLV1o6WI2EWLENZY9LFrIeODM1HMo5rdAMKQLtNzoTw9hpgSUt-I2_h7
dingDing.agentId=328770182
dingDing.token=123456
dingDing.aesKey=4g5j64qlyl3zvetqxz5jiocdr586fn2zvjpa8zls3ij
dingDing.corpId=ding62e45896a5b1289f35c2f4657eb6378f
dingDing.loginAppId=dingoahcmdtal2tnzuyhib
dingDing.loginAppSecret=c-Jx-wzFNxnCS1Zpf4PPTkTiZG1dc6SV_L6pN8qQED5g1uhwoLP3kskdl6m5axle

#redis-config
# 连接超时时间(毫秒)
spring.redis.timeout=3000
# 连接池最大连接数(使用负值表示没有限制)
spring.redis.lettuce.pool.max-active=8
# 连接池最大阻塞等待时间(使用负值表示没有限制)
spring.redis.lettuce.pool.max-wait=10000
# 连接池中的最大空闲连接
spring.redis.lettuce.pool.max-idle=8
# 连接池中的最小空闲连接
spring.redis.lettuce.pool.min-idle=0
# 连接池关闭超时时间
spring.redis.lettuce.shutdown-timeout=100


#文件上传大小限制
server.tomcat.max-http-post-size=-1
spring.servlet.multipart.max-file-size=20MB
spring.servlet.multipart.max-request-size=20MB


其他需要:
Swagger配置
elistic apm配置
日志打印
分页pageHelper
异常处理

原文地址:https://www.cnblogs.com/ttaall/p/13657153.html