【yml】yml基础配置文件一点通(Maven项目 + springboot项目)

【yml】yml基础配置文件一点通(Maven项目 + springboot项目)

(1)application.yml 配置文件示例

先来看一个springboot工程的 application.yml 配置文件,主要配置内容如下:

server:
  port: 8080
spring:
  application:
    #应用程序启动实例名称
    name: daqi_reggie_take_out
  datasource:
    druid:
      driver-class-name: com.mysql.cj.jdbc.Driver
      url: jdbc:mysql://localhost:3306/reggie?serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
      username: root
      password: root
mybatis-plus:
  configuration:
    #在映射实体或者属性时,将数据库中表名和字段名中的下划线去掉,按照驼峰命名法映射
    map-underscore-to-camel-case: true
    #mybatis打印(sql日志)
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
  global-config:
    db-config:
      id-type: ASSIGN_ID
      logic-delete-field: isDeleted # 全局逻辑删除的实体字段名,配置后可不用@TableLogic注解
      logic-delete-value: 1         # 逻辑已删除
      logic-not-delete-value: 0     # 逻辑未删除
  #定义所有操作类的别名所在包
  type-aliases-package: com.daqi.**.entity
  
#mapper 打印日志
logging:
  level:
    com.daqi: debug
    com.baomidou.mybatisplus.extension.spring.MybatisSqlSessionFactoryBean: INFO

reggie:
  #自定义属性 存放图片路径
  path: D:\img\

上述结构是yml格式的,树状结构,配置内容直观清晰有条理,与properties格式虽写法迥异,但内容是大差不差的。

(2)YML简介

YAML(YAML Ain’t Markup Language),简称YML,一种数据序列化格式。具有容易阅读、容易与脚本语言交互、以数据为核心,重数据轻格式的特点。常见的文件扩展名有两种:
(1)yml格式(主流,推荐使用)
(2)yaml格式

1, YAML 语法(yml配置文件格式的特点)

1、大小写敏感
2、属性层级关系使用多行描述,每行结尾使用冒号结束
3、使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(注意:不允许使用Tab键)
4、属性值前面添加空格(属性名与属性值之间使用 冒号+空格 作为分隔)
5、可以使用 “-小写字母” 或 "_小写字母"来 代替 “大写字母”,如 userName与user_name,user-name含义相同
6、key: value 整体为k-v结构,key 后面跟着冒号,再后面跟着一个空格,然后是值。如:port: 8080
5、#号表示注释

(3)几种常见数据格式的表示方式举例

3.1,配置普通数据举例:

boolean: TRUE  						 #TRUE,true,True,FALSE,false,False均可
float: 3.14    						 #6.8523015e+5  #支持科学计数法
int: 123       						 #0b1010_0111_0100_1010_1110    #支持二进制、八进制、十六进制
null: ~        						 #使用~表示null
string: HelloWorld      			 #字符串可以直接书写
string2: "Hello World"  			 #可以使用双引号包裹特殊字符
date: 2018-02-17        			 #日期必须使用yyyy-MM-dd格式
datetime: 2018-02-17T15:02:31+08:00  #时间和日期之间使用T连接,最后使用+代表时区

3.2,对象、Map (属性和值 (k-v键值对方式))

#方式一
users:
  - name: zhangsan
    age: 18
  - name: lisi
    age: 17
 
#方式二
users2:
  -
    name: zhangsan
    age: 18
  -
    name: lisi
    age: 17
 
#方式三
users3: [{name:zhangsan,age:18},{name:lisi,age:17}]

3.3.数组 (List、Set)

item-states:
  - 0  
  - 1
  - -1
#数组书写缩略格式
likes: [太阳,地球,月亮,水星,金星,木星]

(4)那java程序如何从yml文件取值呢?

方法一:

在定义属性的字段上添加@value注解(搭配@Component注解使用)
如,我们要取得

server:
  username: root
  password: root

可以这样:

import org.springframework.beans.factory.annotation.Value;
@Component  //实体类需要添加@Component注解才会生效
public class DatabaseInfo{
    @Value("${server.username}")  //使用${}来取值
    private String username;
    @Value("${server.password}")
    private String password;
}    
方法二:

使用@ConfigurationProperties注解(配置JavaBean映射方案)
如,我们要取得

consumer:
  username: 张三
  addresss: 蓬莱 

可以这样:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
@Component  //实体类/封装类需要定义为Spring管理的bean,否则无法进行属性注入
@ConfigurationProperties(prefix = "consumer")  //绑定配置信息到实体类/封装类中
public class Consumer{
    private String username;
    private String addresss;
}    

附:yaml配置文件

(5)MyBatis中typeAliases属性详解

给Java类型的实体类取别名

typeAliases别名用法

参例上面的介绍:

mybatis-plus:
  #定义所有操作类的别名所在包
  type-aliases-package: com.daqi.**.entity
1,用法一:给指定的实体类起别名
<!--configuration核心配置文件-->
<configuration>
    <!-- 引入外部配置文件 -->
    <properties resource="db.properties">
        <property name="username" value="root"/>
        <property name="password" value="Wang118821"/>
    </properties>

    <!-- 用于给实体类起别名 -->
    <typeAliases>
        <typeAlias type="com.example.demo.pojo.User" alias="User"/>
    </typeAliases> 

mapper里使用

    <select id="getUserList" resultType="User">
        select * from mybatis.user
    </select>
2,用法二:指定一个包名,MyBatis会在包名下搜索需要的Java Bean,

比如:扫描实体类的包,在没有注解的情况下,它的默认别名就为这个类的类名,首字母小写;若有注解,别名为其注解值,见下面例子:

<!--configuration核心配置文件-->
<configuration>
    <!-- 引入外部配置文件 -->
    <properties resource="db.properties">
        <property name="username" value="root"/>
        <property name="password" value="Wang118821"/>
    </properties>

    <!-- 用于给实体类起别名 -->
    <typeAliases>
        <package name="com.example.demo.pojo" />
    </typeAliases>
    <select id="getUserList" resultType="user">
        select * from mybatis.user
    </select>

此时还可以在实体类增加注解

//实体类
@Alias("userInfo")
public class User {
    private Integer id;
    private String name;
    private String pwd;
    <select id="getUserList" resultType="userInfo">
        select * from mybatis.user
    </select>

传送门:MyBatis中typeAliases属性——给Java类型的实体类取别名

这一篇写的较为详细:

传送门:SpringBoot - 配置文件application.yml使用详解(附:Profile多环境配置)

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
将Spring MVC、Hibernate和Maven项目转换为Spring Boot项目是相对简单的过程。以下是一些步骤可以帮助你实现这个转换。 首先,你需要创建一个新的Spring Boot项目。你可以使用Spring Boot的官方网站提供的工具来创建基础项目结构。使用该工具,你可以选择所需的依赖项,例如Spring Web(用于替代Spring MVC)和Spring Data JPA(用于替代Hibernate)等。 一旦你创建了新的Spring Boot项目,你可以开始迁移你的现有代码。首先,将现有的控制器类和服务类移动到新项目的相应包中。确保在移动这些类之后重新配置它们的包路径和依赖项。你可能需要使用IDE工具来自动修复这些问题。 接下来,你需要配置你的Hibernate实体和数据库连接。在Spring Boot项目中,这些配置常存储在application.properties或application.yml文件中。根据你的数据库类型和连接信息,进行相应的配置。你还需要调整Hibernate实体类的注解和配置以适应Spring Boot的要求。 接下来,你需要创建一个用于启动Spring Boot应用程序的主类。这个类是你项目的入口点,其中包含一个带有@SpringBootApplication注解的main方法。你可以在这个类中进行一些额外的配置,例如添加特定的Java配置类或扩展Spring Boot的默认配置。 最后,你可以执行一些测试,确保你的新Spring Boot项目能够正常工作。你可以使用测试框架,例如JUnit或Spring Boot Test,编写和运行单元测试或集成测试。 总结起来,将Spring MVC、Hibernate和Maven项目转换为Spring Boot项目的步骤涉及创建新的Spring Boot项目、迁移现有代码、调整配置、创建主类和执行测试。这些步骤将帮助你成功地完成转换并继续使用Spring Boot来开发你的项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东方神剑2023

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值