开发Tips

1、项目构建与运行

1.1、模块增加新的profile

1、模块的parent目录的pom.xml增加新的profile

2、resource目录下增加一份相同的profile配置 (注:resource下已区分换)

3、注意勾选右侧maven视图中需要打包的profile,确保执行的profile与打包的一致

2、业务模块

2.1、 带可变参数的ResultMessage

USER_PHONE_NUMBER_HAS_EXISTED(330703, "手机号【{0}】已存在"),

注:同步修改国际化i18n下的多语言映射文件

2.2、 集成druid监控

注释掉koca.jdbc配置,使用spring-jdbc原生配置

spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource
    driver-class-name: com.mysql.cj.jdbc.Driver
    url: jdbc:mysql://10.202.61.51:3306/kems-admin-dev?serverTimezone=GMT%2B8&useSSL=false&useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&zeroDateTimeBehavior=CONVERT_TO_NULL
    username: kems-dev
    password: kingdom123_#@
    druid:
      # 初始化大小,最小,最大
      initial-size: 8
      min-idle: 8
      max-active: 32
      # 配置获取连接等待超时的时间(毫秒)
      max-wait: 60000
      # 配置间隔多久才进行一次检测,检测需要关闭的空闲连接,单位是毫秒
      # 配置有一个连接在连接池中的最小生存时间,单位是毫秒
      min-evictable-idle-time-millis: 300000
      time-between-eviction-runs-millis: 60000
      # 打开PSCache,指定每个连接上PSCache的大小
      pool-prepared-statements: false
      max-pool-prepared-statement-per-connection-size: -1
      validation-query: SELECT 1 FROM DUAL
      validation-query-timeout: 2000
      test-on-borrow: false
      test-on-return: false
      test-while-idle: true
      # 配置监控统计拦截的filters,去掉后监控界面sql将无法统计,'wall'用于防火墙
      # filters: stat, wall, log4j
      filters: stat, wall
      # 通过connectProperties属性来打开mergeSql功能,慢SQL记录
      connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
      filter:
        stat:
          enabled: true
        wall:
          enabled: true
          config:
            delete-allow: false
            drop-table-allow: false
      stat-view-servlet:
        enabled: true
        login-username: druid
        login-password: 123456
        url-pattern: /druid/*
        reset-enable: true
        allow: #IP白名单,不填允许所有IP访问
        deny: #IP黑名单
      web-stat-filter:
        enabled: true
        url-pattern: /*

2.3、大附件上传

前后端均使用分片、断点续传的接口, 参照文件管理-附件管理中的接口,文件大小限制配置如下

1、nginx.conf文件大小限制修改

client_max_body_size 1024m;
proxy_connect_timeout 10;
proxy_send_timeout 60;
proxy_read_timeout 60;
client_header_buffer_size 10240k;
large_client_header_buffers 4 10240k;

2、bootstrap.yml文件大小限制修改

​ spring.servlet.multipart.max-file-size=1024MB

​ spring.servlet.multipart.max-request-size=1024MB

3、application.yml 文件代销限制修改

​ file.max-size=1073741824 # 1024×1024×1024=1024M

3、微服务

3.1 注册中心减少服务列表刷新间隔

注册中心配置

eureka:
  security:
    enabled: false  #为true开启认证,不配置默认为false
  server:
    eviction-interval-timer-in-ms: 3000  # 服务器清理失效节点的时间间隔, 默认60s
    enable-self-preservation: false
    use-read-only-response-cache: false
  client:
    register-with-eureka: false
    fetch-registry: false
    service-url:
      defaultZone: http://admin:123456@${EUREKA_HOST:localhost}:${EUREKA_PORT:8085}/eureka/

服务配置

eureka:
  instance:
    prefer-ip-address: true
    lease-expiration-duration-in-seconds: 9 # 服务端收到客户端服务后,等待下次心跳的超时时间
    lease-renewal-interval-in-seconds: 3 # 服务实例续约的时间间隔
  client:
    service-url: # eureka注册地址,将自己注册到eureka中,以便展示本机ip地址
      defaultZone: http://admin:123456@${EUREKA_HOST:localhost}:${EUREKA_PORT:8085}/eureka/

网关配置(gateway.yml)

loadbalancer:
   cache:
     enabled: true
       ttl: 3s   # 设置缓存刷新时间

4、工具

4.1 maven helper插件 查看项目依赖

4.2 RestfulTookit-fix插件 根据uri快速定位到controller中的函数

4.3 Mybatis Log插件 控制台打印执行的sql语句

4.4 Lombok插件 减少getset代码

4.5 Code Vision IDEA自带(设置-编辑器-嵌入提示),勾选后可以在代码上显示有几处用法,支持快速跳转

Copyright © 2017-2023 深圳金证引擎科技有限公司 all right reserved,powered by Gitbook该文件最后修订时间: 2023-09-01 14:01:36

results matching ""

    No results matching ""