【项目SpringBoot配置详解】

2023-05-16

🐱福利

想不想自定义spring Boot启动Logo

哪里改springboot的启动标志?
spring boot启动总会显示这样的图标,但是我想不一样
在这里插入图片描述
方法:
首先我们在resource目录下面放入一个banner.txt文件
Spring Boot启动项目的时候就会优先启动这个文件中的内容。

然后我们用在线生成字符图标工具

http://www.network-science.de/ascii/
http://patorjk.com/software/taag/

找了一个shell的文本,放在resource目录下面放入一个banner.txt里,启动如下:
在这里插入图片描述
到这会不会感觉它还是不够美观,那么加点颜色,岂不是更棒!
Spring Boot提供了一个枚举类AnsiColor,这个类可以控制banner.txt中的字符颜色,而且非常容易使用。
比如我可以将字符设置成颜色:BRIGHT_YELLOW
版本号颜色设置成:BRIGHT_BLUE

${AnsiColor.BRIGHT_YELLOW}
        _                 _       _           _               _              _
       / /\              / /\    / /\        /\ \            _\ \           _\ \
      / /  \            / / /   / / /       /  \ \          /\__ \         /\__ \
     / / /\ \__        / /_/   / / /       / /\ \ \        / /_ \_\       / /_ \_\
    / / /\ \___\      / /\ \__/ / /       / / /\ \_\      / / /\/_/      / / /\/_/
    \ \ \ \/___/     / /\ \___\/ /       / /_/_ \/_/     / / /          / / /
     \ \ \          / / /\/___/ /       / /____/\       / / /          / / /
 _    \ \ \        / / /   / / /       / /\____\/      / / / ____     / / / ____
/_/\__/ / /       / / /   / / /       / / /______     / /_/_/ ___/\  / /_/_/ ___/\
\ \/___/ /       / / /   / / /       / / /_______\   /_______/\__\/ /_______/\__\/
 \_____\/        \/_/    \/_/        \/__________/   \_______\/     \_______\/

效果如下:
在这里插入图片描述
还有设置版本号的一些参数:

${application.version} 这个是MANIFEST.MF文件中的版本号
${application.formatted-version} 这个是上面的的版本号前面加v后上括号
${spring-boot.version} 这个是springboot的版本号
${spring-boot.formatted-version}同上

搞明白了配置文件的一系列属性的意义!

server: # springboot的tomcat服务器的配置
  port: 8080  # 服务器端口号
  servlet:   # servlet配置
    context-path: /XX # 启动的根路径 如:localhost:8080/xx/你的请求 

spring: # spring的相关配置
  servlet:
    multipart: # spring中上传文件的配置
      max-file-size: 10MB #单个文件上传大小(默认为1MB)
      max-request-size: 50MB # 上传文件总大小
  profiles: # 版本控制
    active: '@profile.active@' # 这里参数本来是同resource下application-dev.yml的dev这块值,使用@profile.active@是同maven的profile一起控制
  datasource: # 配置数据源
    driverClassName: xxxx # 数据库驱动类名
    type: com.alibaba.druid.pool.DruidDataSource # dataSource 数据源类型,有三种内建的数据源类型(也就是 type=”[UNPOOLED|POOLED|JNDI]”)
    druid: # 使用德鲁伊连接池
      connection-properties: xxxx #连接属性。比如设置一些连接池统计方面的配置
      filters: stat #配置的是插件,常用的插件有stat,wall,slf4j(stat:监控统计,wall:防御SQL注入,slf4j:日志监控)
      initial-size: 5 # 初始化多少个连接
      max-active: 20 #连接池中最多支持多少个活动会话
      max-pool-prepared-statement-per-connection-size: 20 #每个连接最多缓存多少个SQL
      max-wait: 60000 # 程序向连接池中请求连接时,超过maxWait的值后,认为本次请求失败,即连接池
      min-evictable-idle-time-millis: 300000 #池中某个连接的空闲时长达到 N 毫秒后, 连接池在下次检查空闲连接时将回收该连接,要小于防火墙超时设置
      min-idle: 5 #回收空闲连接时,将保证至少有minIdle个连接.
      pool-prepared-statements: true #缓存通过以下两个方法发起的SQL
      stat-view-servlet: #提供监控信息展示的html页面,提供监控信息的JSON API
        enabled: true #是否启用StatViewServlet默认值true
        login-password: 123456 #
        login-username: admin #
        reset-enable: false #
        url-pattern: /druid/* #
      test-on-borrow: false #程序 申请 连接时,进行连接有效性检查(低效,影响性能)
      test-on-return: false #程序 返还 连接时,进行连接有效性检查(低效,影响性能)
      test-while-idle: true #当程序请求连接,池在分配连接时,是否先检查该连接是否有效。(高效)
      time-between-eviction-runs-millis: 60000 # 检查空闲连接的频率,单位毫秒, 非正整数时表示不进行检查
      use-global-data-source-stat: true #  合并多个DruidDataSource的监控数据
      validation-query: SELECT 1 FROM DUAL #检查池中的连接是否仍可用的 SQL 语句,drui会连接到数据库执行该SQL
      web-stat-filter:  #统计 web 应用请求中所有的数据库信息
        enabled: true是否启用StatFilter默认值true
        exclusions: '*.js,*.gif,*.jpg,*.bmp,/druid/*'
        url-pattern: /*
  jpa: # 配置jpa
    database: MYSQL # 数据库源
    generate-ddl: false # JPA是否初始化
    hibernate: # 依赖hibernate
      naming:
        physical-strategy: org.hibernate.boot.model.naming.PhysicalNamingStrategyStandardImpl# 全限定名
    properties:
      hibernate:
        dialect: org.hibernate.dialect.MySQL5Dialect
    show-sql: false # 是否展示sql语句
  activiti:  # 工作流
    check-process-definitions: false #检查Activiti数据表是否存在及版本号是否匹配
    database-schema-update: true #数据库更新策略
    history-level: full #历史数据,保存到何种粒度
  cors:#配置跨域访问
      enabled: true
      allowed-origins: '*'#可接受的域,是一个具体域名或者*,代表任意
      allowed-methods: 'OPTIONS,GET,POST,PUT,DELETE' # 可接受的请求方式
      allowed-headers: 'x-requested-with,Cache-Control,Pragma,Content-Type,Authorization' # 允许携带的头
      allow-credentials: 'true' # 是否允许携带cookie,默认情况下,cors不会携带cookie,除非这个值是true
      max-age: '1800'# 本次许可的有效时长,单位是秒,过期之前的ajax请求就无需再次进行预检了
    jwt: # 跨域认证解决方案
      enabled: true
      encrypt-jwt-key: base.archetype  #加密密钥
      token-expire-time: 0 # token过期时间
      url-patterns: /com/* #  拦截路径
      allowed-paths: /com/authorizations/login# 鉴权后的允许放行路径
    orika:# 持久化层对应的实体对象与数据传输对象之间的映射工具
      enabled: true
      useBuiltinConverters: true
      useAutoMapping: true
      mapNulls: false
      dumpStateOnException: false
      favorExtension: false
      captureFieldContext: false  
    swagger: # api管理工具
      enabled: true
      title: XXX # 文档名
      version: V1.0.1 #版本
      base-package: cn.itfu.server.api# 扫描的包
      base-path: /** # 访问路径
      globalOperationParameters[0]: # 全局操作说明
        name: Authorization
        description: 请求接口所需令牌
        modelRef: string # 类型
        parameterType: header 
        required: false
    job: # 定时工作、定时任务
      enabled: true #开启任务管理
      job-parameters[0]: #任务列表
        cron: '0 0 0 * * ?'  #cron表达式
        jobClass: cn.net.weilai.ha #Job相关的类全名
        jobNumber: job1 #Job编号
        jobGroup: group1 #Job任务分组
        enabled: true #Job是否启用
    jpush: # 推送
      enabled: true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【项目SpringBoot配置详解】 的相关文章

随机推荐