zoukankan      html  css  js  c++  java
  • SpringBoot中application.yml基本配置详情

    把原有的application.properties删掉。然后 maven -X clean install,或者通过Maven Project双击clean和install
    (1)端口服务配置

      

    #端口,项目上下文根
    server:
      port: 8080
      servlet:
        context-path: /hotel
    

      


    其中context-path: /hotel可以不用配置
    如果配置,访问路径就是http://ip:port/hotel/
    没有配置,访问路径就是http://ip:port/

    (2)数据库配置

      

    spring:
      datasource:
        driver-class-name: com.mysql.jdbc.Driver
        url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&useSSL=false
        username: root
        password: root
      jpa:
        hibernate:
          ddl-auto: update
        show-sql: true
      redis:
        database: 0
        host: localhost
        port: 6379
        password:
        jedis:
          pool:
            max-active: 8
            max-wait: -1
            max-idle: 8
            min-idle: 0
        timeout: 0


    (3)配置多个不同的profile,实现在不同的环境(比如开发、测试和生产环境)使用不同的配置变量。

      

    # 默认的profile为dev,其他环境通过指定启动参数使用不同的profile,比如:
    #   测试环境:java -jar my-spring-boot.jar --spring.profiles.active=test
    #   生产环境:java -jar my-spring-boot.jar --spring.profiles.active=prod
    spring:
      profiles:
        active: dev
    
    ---
    # 开发环境配置
    spring:
      profiles: dev
    mysql:
      ipPort: localhost:3306
      
    ---
    # 测试环境配置
    spring:
      profiles: test
    mysql:
      ipPort: ip:port
      
    ---
    # 生产环境配置
    spring:
      profiles: prod
    mysql:
      ipPort: ip:port


    使用方法:
    通过指定启动参数使用不同的profile
    测试环境: java -jar my-spring-boot.jar --spring.profiles.active=test
    生产环境: java -jar my-spring-boot.jar --spring.profiles.active=prod

    (3)指定静态资源路径

     

    spring:
      resources:
        #指定静态资源路径,默认为classpath:[/META-INF/resources/,/resources/, /static/, /public/]以及context:/
        static-locations: classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/}

     

    (4)热部署
    在Springboot+Thymeleaf的开发过程中,默认情况下修改到任何代码都需要重新启动项目才能生效。使用spring.thymeleaf.cache和devtools来解决html热启动的问题
    首先在pom.xml中配置

    <!--增加maven的devtools依赖-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-devtools</artifactId>
    <scope>runtime</scope>
    <optional>true</optional>
    </dependency>



    注意:true只有设置为true时才会热启动,即当修改了html、css、js等这些静态资源后不用重启项目直接刷新即可。
    然后修改application.yml

    #热部署--静态资源立即生效
    spring:
      #热部署--静态资源立即生效
      thymeleaf:
        cache: false
        encoding: UTF-8
        mode: LEGACYHTML5
        prefix: classpath:/templates/
        suffix: .html
        check-template-location: true
      #热部署生效
      devtools:
        restart:
          enabled: true

      

    如果需要在修改java文件后都能自动更新,则需要将原先的maven构建修改。
    配置了true后在修改java文件后也就支持了热启动,不过这种方式是属于项目重启(速度比较快的项目重启),会清空session中的值,也就是如果有用户登陆的话,项目重启后需要重新登陆。

    <!--maven构建-->
    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    </plugin>
    </plugins>
    </build>
    <!--maven构建-->
    <build>
    <plugins>
    <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
    <configuration>
    <!--如果没有该项配置,devtools不会起作用,即应用不会restart -->
    <fork>true</fork>
    </configuration>
    </plugin>
    </plugins>
    </build>

    (5)时间配置

    spring:
        jackson:
            #指定日期格式,比如yyyy-MM-dd HH:mm:ss
            date-format: yyyy-MM-dd HH:mm:ss
            #指定日期格式化时区
            time-zone: GMT+8

    (6)模板配置
    springboot 中自带的页面渲染工具为thymeleaf 还有freemarker 这两种模板引擎 。

    <!--freemarker-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-freemarker</artifactId>
    </dependency>

      

    spring:
       freemarker:
        suffix: .html   #设定模板的后缀
        request-context-attribute: request  #request访问request
        content-type: text/html
        enabled: true
        cache: false   #缓存配置
        template-loader-path: classpath:/templates/ #模板加载路径 按需配置
        charset: UTF-8   #编码格式
        settings:
          number_format: '0.##'   #数字格式化,无小数点

    (7)redis和shiro配置

    <!--redis和shiro-->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
    </dependency>
    <dependency>
    <groupId>org.apache.shiro</groupId>
    <artifactId>shiro-spring</artifactId>
    <version>1.3.2</version>
    </dependency>
    spring:
        redis:
            database: 0
            host: localhost
            port: 6379
            password:
            jedis:
              pool:
                max-active: 8
                max-wait: -1
                max-idle: 8
                min-idle: 0
            timeout: 0
        shiro:
            conf:
              domain:
              cookiePath: /
              successUrl: /index
              loginView: /login
              openToken: false
              sessionTimeout: 1800000
              algorithmName: md5
              hashIterations: 5
              #不拦截的路径
              sysanon:
                - /login
                - /regist
              #跨域配置
              allowedOrigins:
                - /**

    作者:姜猪猪
    来源:CSDN
    原文:https://blog.csdn.net/zhulan316917864/article/details/84976234
    版权声明:本文为博主原创文章,转载请附上博文链接!

  • 相关阅读:
    UOJ168. 【UR #11】元旦老人与丛林
    luogu3308,LOJ 2196 [SDOI2014]LIS
    CF1349F2. Slime and Sequences (Hard Version)
    6210. wsm
    欧拉数学习小记
    CF1508F. Optimal Encoding
    CF1508C. Complete the MST
    联合省选2021 游记
    一. Docker介绍
    Elasticsearch
  • 原文地址:https://www.cnblogs.com/telwanggs/p/10826541.html
Copyright © 2011-2022 走看看