合肥市网站制作,谁用fun域名做网站了,用php做电商网站,dw做网站详细教程环境介绍 技术栈 springboot3 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 17 Spring Boot 3.1.7 配置文件说明#xff1a;启动配置文件优先级#xff1a;properties高于yml
配置文件application.yml
yml是 JSON 的超集#xff0c;简洁而强大#xf…环境介绍 技术栈 springboot3 软件 版本 mysql 8 IDEA IntelliJ IDEA 2022.2.1 JDK 17 Spring Boot 3.1.7 配置文件说明启动配置文件优先级properties高于yml
配置文件application.yml
yml是 JSON 的超集简洁而强大是一种专门用来书写配置文件的语言可以替代 application.properties。
在创建一个 SpringBoot 项目时引入的 spring-boot-starter-web 依赖间接地引入了 snakeyaml 依赖 snakeyaml 会实现对 yml配置的解析。
yml的使用非常简单利用缩进来表示层级关系并且大小写敏感。
yml配置与 Properties 配置的比较
可以使用 PropertySource 注解加载自定义的 Properties 配置文件但无法加载自定义的 yml文件。 yml支持列表的配置而 Properties 不支持。 实体类获取配置文件信息
方式一Value()
通过在属性上使用Value注解直接将yml文件中的属性值注入到对应的属性中。这种方式适用于需要将yml文件中的属性值注入到单个属性中的情况。
Value()注解可以用来将外部的值动态注入到Bean中在Value注解中可以使用 ${} 和 #{} 区别 Value(${}) 可以获取对应助兴文件中定义的属性值 Value(#{})表示SpEl表达式通常来获取bean的属性或者调用bean的某个方法 Component
Data
public class Host {Value(${host01.host})private String host;Value(${host01.port})private String port;Value(${host01.user})private String user;Value(${host01.password})private String password;} 方式二ConfigurationProperties(prefix 前缀) 加入依赖
dependency groupIdorg.springframework.boot/groupId artifactIdspring-boot-configuration-processor/artifactId optionaltrue/optional /dependency Spring源码中大量使用了ConfigurationProperties注解比如server.port就是由该注解获取到的通过与其他注解配合使用能够实现Bean的按需配置。 该注解有一个prefix属性通过指定的前缀绑定配置文件中的配置该注解可以放在类上也可以放在方法上。当将该注解作用于方法上时如果想要有效的绑定配置那么该方法需要有Bean注解且所属Class需要有Configuration注解。 Sring的有效运行是通过上下文Bean容器中Bean的配合完成的Bean可以简单理解成对象有些对象需要指定字段内容那么这些内容我们可以通过配置文件进行绑定然后将此Bean归还给容器. ConfigurationProperties注解将yml中的值映射到bean的属性上,通过在配置类上使用ConfigurationProperties注解将yml文件中的属性值映射到配置类的属性上。这种方式适用于需要将yml文件中的多个属性值映射到一个配置类中的情况。
Component
ConfigurationProperties(prefix host01)
Data
public class Host {//Value(${host01.host})private String host;//Value(${host01.port})private String port;//Value(${host01.user})private String user;//Value(${host01.password})private String password;} pom.xml server: port: 8007 management: server: port: 8008 endpoints: web: exposure: include: * endpoint: prometheus: enabled: true health: show-details: always metrics: export: prometheus: enabled: true spring: mvc: path match: matching-strategy: ant_path_matcher profiles: active: dev application: name: ProvideAPIServices datasource: dynamic: primary: sys2 #设置默认的数据源或者数据源组,默认值即为master strict: false #严格匹配数据源,默认false. true未匹配到指定数据源时抛异常,false使用默认数据源 datasource: oracle: username: system password: 111111 url: jdbc:oracle:thin:127.0.0.1:.172:1521:orcl driver-class-name: oracle.jdbc.driver.OracleDriver # driver-class-name: com.mysql.jdbc.Driver wms: url: jdbc:p6spy:mysql://127.0.0.1:3306/Wms?useUnicodetruecharacterEncodingUTF-8 username: root password: pwd driver-class-name: com.p6spy.engine.spy.P6SpyDriver # driver-class-name: com.mysql.jdbc.Driver sys2: username: root password: pwd url: jdbc:p6spy:mysql://127.0.0.1:3306/sys?serverTimezoneAsia/ShanghaiuseUnicodetruecharacterEncodingUTF-8 driver-class-name: com.p6spy.engine.spy.P6SpyDriver mybatis-plus: configuration: #输出日志 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl #配置映射规则 map-underscore-to-camel-case: true #表示支持下划线到驼蜂的映射 #隐藏mybatis图标 global-config: banner: false db-config: logic-delete-field: status logic-not-delete-value: 1 logic-delete-value: 0 # #mybatis: # mapper-locationsclasspath: com/example/dao/*.xml pagehelper: propertyName: propertyValue reasonable: false defaultCount: true # 分页插件默认参数支持 default-count 形式自定义扩展的参数必须大小写一致 #主机相关信息 host01: host: 192.168.68.133 port: 22 user: root password: 111111
#邮箱 email: user: 123123 code: 12314134 host: 123.qq.com auth: true
#爱好 hobbies: -打篮球 -踢足球 -玩游戏