profile提供多环境支持
    application.yml -> 主配置文件
    application-{name}.yml -> 环境配置(挂件)
    激活多环境 -> spring.profiles.active:{name}

    image.png

    profiles 多环境梳理
    1、数据源配置
    1.1 url 根据自身情况去修改为 localhost 或者 内网IP (集群或分布式系统,一定要使用内网IP)
    1.2 密码 root 改为自己的密码
    2、mybatis日志打印
    dev 可以打印
    test 可以打印
    prod 无需打印
    3、图片保存目录 和 图片服务请求路径配置 注:需要在FileUpload.java中修改对应环境
    file.imageUserFaceLocation=/workspaces/images/foodie/faces
    file.imageServerUrl=http://82.156.203.182:8088/foodie-dev-api/foodie/faces
    4、BaseController从支付中心回调后端服务的回调地址
    String payReturnUrl = “http://82.156.203.182:8088/foodie-dev-api/orders/notifyMerchantOrderPaid“;

    application.yml

    1. ############################################################
    2. #
    3. # web访问端口号
    4. #
    5. ############################################################
    6. server:
    7. # port: 8088
    8. tomcat:
    9. uri-encoding: UTF-8
    10. max-http-header-size: 80KB
    11. ############################################################
    12. #
    13. # 配置数据源信息
    14. #
    15. ############################################################
    16. spring:
    17. profiles:
    18. active: prod
    19. datasource:
    20. type: com.zaxxer.hikari.HikariDataSource # 数据源类型:HikariCP
    21. driver-class-name: com.mysql.cj.jdbc.Driver # mysql驱动
    22. # url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT&autoReconnect=true
    23. username: root
    24. # password: root
    25. hikari:
    26. connection-timeout: 30000 # 等待连接池分配连接的最大时长(毫秒),超过这个时长还没可用的连接则发生SQ
    27. minimum-idle: 5 # 最小连接数
    28. maximum-pool-size: 20 # 最大连接数
    29. auto-commit: true # 自动提交
    30. idle-timeout: 600000 # 连接超时的最大时长(毫秒),超时则被释放(retired),默认:10分钟
    31. pool-name: DateSourceHikariCP # 连接池名字
    32. max-lifetime: 1800000 # 连接的生命时长(毫秒),超时而且没被使用则被释放(retired),默认:30分钟
    33. connection-test-query: SELECT 1 # 用于测试连接是否可用的查询语句
    34. servlet:
    35. multipart:
    36. max-file-size: 512000 # 文件上传大小限制为500kb
    37. max-request-size: 512000 # 请求大小限制为500kb
    38. ############################################################
    39. #
    40. # mybatis 配置
    41. #
    42. ############################################################
    43. mybatis:
    44. type-aliases-package: com.shiers.pojo # 所有POJO类所在包路径
    45. mapper-locations: classpath:mapper/*.xml # mapper映射文件
    46. # configuration:
    47. # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
    48. ############################################################
    49. #
    50. # mybatis mapper 配置
    51. #
    52. ############################################################
    53. # 通用Mapper配置
    54. mapper:
    55. mappers: com.shiers.my.mapper.MyMapper # 通用mapper路径
    56. not-empty: false # 在进行数据库操作的时候,判断表达式:如:username != null ,是否追加 username != ''
    57. identity: MYSQL
    58. # 分页插件配置
    59. pagehelper:
    60. helperDialect: mysql
    61. supportMethodsArguments: true

    application-dev.yml

    1. server:
    2. port: 8088
    3. spring:
    4. datasource:
    5. url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT&autoReconnect=true
    6. password: root
    7. mybatis:
    8. configuration:
    9. log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

    application-prod.yml

    1. server:
    2. port: 80
    3. spring:
    4. datasource:
    5. url: jdbc:mysql://localhost:3306/foodie-shop-dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=CTT&autoReconnect=true
    6. password: root

    file-upload-dev.properties

    1. file.imageUserFaceLocation=D:\\Environment\\apache-tomcat-9.0.46\\webapps\\images\\foodie\\faces
    2. file.imageServerUrl=http://localhost:8088/foodie/faces

    file-upload-prod.properties

    1. file.imageUserFaceLocation=/workspaces/images/foodie/faces
    2. file.imageServerUrl=http://82.156.203.182:8088/foodie-dev-api/foodie/faces

    image.png