• yml文件 数据回显


    yml文件 数据回显

    系统要求

    Java 8+

    springBoot2.5 +

    创建springBoot项目工程


    配置pom.xml文件

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.5.5</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>com.xiang</groupId>
        <artifactId>springInitailizr</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>springInitailizr</name>
        <description>Demo project for Spring Boot</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
    
            <dependency>
                <!--
                自定义的类和配置文件绑定一般没有提示,可以添加一个依赖,然后重启项目可以解决
                -->
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                </plugin>
            </plugins>
        </build>
    
    </project>
    
    

    编写User类

    package com.xiang.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import org.springframework.boot.context.properties.ConfigurationProperties;
    import org.springframework.stereotype.Component;
    
    import java.util.Date;
    import java.util.List;
    import java.util.Map;
    import java.util.Set;
    
    /**
     * Created by IntelliJ IDEA.
     * User: xiang
     * Date: 2021/10/13 10:02
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Component
    @ConfigurationProperties("user")//绑定配置文件,设置绑定的前缀
    
    public class User {
        private  String userName;
        private  Boolean boss;
        private  Date birth;
        private  Integer age;
        private  Pet pet;
        private  String[] interfaces;
        private  List<String> friends;
        private  Map<String, String> score;
        private  Map<String, List<Pet>> allPets;
        private  Set<Double> money;
    
    
    
    }
    
    

    编写Pet类

    package com.xiang.pojo;
    
    import lombok.AllArgsConstructor;
    import lombok.Data;
    import lombok.NoArgsConstructor;
    import org.springframework.stereotype.Component;
    
    /**
     * Created by IntelliJ IDEA.
     * User: xiang
     * Date: 2021/10/13 10:03
     */
    @Data
    @AllArgsConstructor
    @NoArgsConstructor
    @Component
    public class Pet {
        private  String name;
        private  Double weight;
    }
    
    

    编写application.yml文件

    user:
      userName: "xiang"
    #  userName: 'xiang'
      boss: true
      birth: 2000/11/11
      age: 40
      pet:
        name: "小哈"
        weight: 10
      interfaces: [ 学习,上网,游泳,游戏 ]
      friends:
        - 小一
        - 小二
        - 小五
      score: {
        JavaSE: 100,
        JavaEE: 100,
        JavaScript: 100,
        Linux: 100
      }
      allPets:
        dog:
          - {
            name: 二哈, weight: 30
          }
          - {
            name: 小二哈, weight: 20
          }
        cat: [
          {
            name: 哈哈, weight: 10
          }
        ]
    
      money:
        - 10000.00
        - 99999.00
    
    

    编写HomeController类

    package com.xiang.controller;
    
    import com.xiang.pojo.User;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestBody;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.ResponseBody;
    import org.springframework.web.bind.annotation.RestController;
    
    /**
     * Created by IntelliJ IDEA.
     * User: xiang
     * Date: 2021/10/13 10:31
     */
    @Controller
    
    public class HomeController {
        @Autowired
        private User user;
    
        @ResponseBody
        @RequestMapping("/info")
        public User info() {
            return user;
        }
    
    
        @ResponseBody
        @RequestMapping("/a.html")
        public String info2() {
            return "user/a.html..............";
        }
    }
    
    

    主程序测试

    package com.xiang;
    
    import com.xiang.pojo.User;
    import org.springframework.boot.SpringApplication;
    import org.springframework.boot.autoconfigure.SpringBootApplication;
    import org.springframework.context.ConfigurableApplicationContext;
    
    @SpringBootApplication
    public class SpringInitailizrApplication {
    
        public static void main(String[] args) {
            ConfigurableApplicationContext context = SpringApplication.run(SpringInitailizrApplication.class, args);
    
            User user = context.getBean("user", User.class);
            System.out.println(user);
        }
    
    }
    
    

    运行结果

    控制台
    User(userName=xiang, boss=true, birth=Sat Nov 11 00:00:00 CST 2000, age=40, pet=Pet(name=小哈, weight=10.0), interfaces=[学习, 上网, 游泳, 游戏], friends=[小一, 小二, 小五], score={JavaSE=100, JavaEE=100, JavaScript=100, Linux=100}, allPets={dog=[Pet(name=二哈, weight=30.0), Pet(name=小二哈, weight=20.0)], cat=[Pet(name=哈哈, weight=10.0)]}, money=[10000.0, 99999.0])
    
    
    前端


    项目结构目录

    yaml

    简介

    YAML是一种标记语言

    非常适合用来做以数据为中心的配置文件

    基本语法

    key: value ;kv之间有空格

    大小写敏感

    使用缩进表示层级关系

    缩进不允许使用tab,只允许使用空格

    缩进的空格数不重要,只要相同层级的元素左对齐即可

    '#'表示注释

    字符串无需加引号

    ‘ 表示的 / 会被转义

    数据类型

    • 字面量:单个的、不可再分的值:date、boolean、string、number、null
    k: v
    
    • 对象:键值对的集合:map、set、object
    行内写法(与json的表示相同):  k: {k1:v1,k2:v2,k3:v3} 
    
    k: 
      k1: v1
      k2: v2
      k3: v3
    
    • 数组:一组按次序排列的值:array、list
    行内写法(与json的表示相同):  k: [v1,v2,v3]
    
    k:
     - v1
     - v2
     - v3
    

  • 相关阅读:
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571 按顺序等距排列平行直线
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571GS标记子实体
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571获取和修改摘要信息
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571长事务
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571按表走呵呵!(延时死循环)
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571修改多段线的凸度
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571临时反应器的简单应用
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571自创实体类从AcDbCurve派生,实现一些类方法并动态绘制
    2021年1月1日 AutoCAD.Net/C#.Net QQ群:193522571多段线动态切割闭合区域
    动态块
  • 原文地址:https://www.cnblogs.com/d534/p/15401805.html
Copyright © 2020-2023  润新知