yml檔案 資料回顯
阿新 • • 發佈:2021-10-13
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