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:
	        - /**
  • 11
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
在Spring Boot项目application.yml是一种用于配置文件的语言,可以替代application.properties文件。它是JSON的超集,简洁而强大。在创建Spring Boot项目时,引入spring-boot-starter-web依赖会间接引入snakeyaml依赖,snakeyaml会实现对YAML配置的解析。与application.properties相比,application.yml具有以下几个区别和特点: 1. YAML支持列表的配置,而Properties不支持。 2. application.properties的优先级会比application.yml高,也就是说如果两个文件都存在,且两个文件都配置了同一个属性,那么会以application.properties里的配置为准。 3. bootstrap.yml可以理解为系统级别的一些参数配置,一般用于定义一些不会变动的参数。而application.yml可以理解为应用级别的一些参数配置,一般用于定义应用系统的参数配置。 4. 当使用配置心的组件时,需要在bootstrap配置文件添加连接到配置心的配置信息。 因此,如果你在项目同时存在application.properties和application.yml文件,两个文件都是有效的,但是application.properties的优先级会比application.yml高。你可以根据具体需求选择使用哪种配置文件。 #### 引用[.reference_title] - *1* [SpringBootapplication.yml基本配置详情](https://blog.csdn.net/vingo007/article/details/124625789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [SpringBoot - 配置文件application.yml使用详解](https://blog.csdn.net/goodjava2007/article/details/126629947)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)](https://blog.csdn.net/qq_31432773/article/details/115916386)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值