午夜剧场伦理_日本一道高清_国产又黄又硬_91黄色网战_女同久久另类69精品国产_妹妹的朋友在线

您的位置:首頁技術(shù)文章
文章詳情頁

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

瀏覽:99日期:2023-02-21 11:39:21
目錄配置文件-yaml基本語法:數(shù)據(jù)類型:Web開發(fā)之簡單功能分析靜態(tài)資源的訪問問題改變默認(rèn)的靜態(tài)資源的路徑:配置文件-yaml

在spring Boot開發(fā)中推薦使用yaml來作為配置文件。

基本語法: key: value;kv之間有空格 大小寫敏感 使用縮進(jìn)表示層級關(guān)系 縮進(jìn)不允許使用tab,只允許空格 縮進(jìn)的空格數(shù)不重要,只要相同層級的元素左對齊即可 ’#’表示注釋 字符串無需加引號,如果要加,’’與''表示字符串內(nèi)容 會被 轉(zhuǎn)義/不轉(zhuǎn)義數(shù)據(jù)類型:

可以使用的數(shù)據(jù)類型有datebooleanstringnumbernull

單個字面量:

k: v #k:空格v

對象,鍵值對的集合,包括:map、hash、set、object

普通寫法:

k: k1: v1 k2: v2 k3: v3

行內(nèi)寫法

k: {k1: v1,k2: v2,k3: v3}

數(shù)組:一組按次序排列的值。array、list、queue

普通寫法:

k: - v1 - v2 - v3

行內(nèi)寫法

k: [v1,v2,v3]

編寫之前,我需要配置yaml中的提示插件:

<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional></dependency>

如果在打包的時候不需要打包該插件,可以在插件中設(shè)置如下:

<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration><excludes> <exclude><groupId>org.springframework.boot</groupId><artifactId>spring-boot-configuration-processor</artifactId> </exclude></excludes> </configuration></plugin>

安裝完成后,需要啟動一下項(xiàng)目,讓他生效。

實(shí)例:

Person類:

@Data@Component@ConfigurationProperties(prefix = 'person')public class Person { private String userName; private Boolean boss; private Date birth; private Integer age; private Pet pet; private String[] interests; private List<String> animal; private Map<String, Object> score; private Set<Double> salarys; private Map<String, List<Pet>> allPets;}

Pet類:

@Datapublic class Pet { private String name; private Double weight;}

在recources資源目錄下創(chuàng)建application.yaml文件,使用yaml表示上述的屬性:

person: user-name: xbhog boss: false birth: 2021/7/27 age: 18 pet: {name: 阿毛,weight: 23} interests: [唱歌,跳舞,玩游戲] animal: - jerry - mario score: english: 30 math: 70 #第二種寫法:score: {english: 30,math: 70} salarys: - 277 - 8999 - 10000 all-pets: #該allPet有兩個k(sick、health),每個key包含一個list sick: - {name: tom} - {name: jerry,weight:47} health: [{name: mario,weight: 47}]

創(chuàng)建一個controller來測試我們的配置文件有沒有生效:

因?yàn)槲覀冎耙褜erson中的屬性映射到了application.yaml文件中,并且把person加入到容器中。

@Component@ConfigurationProperties(prefix = 'person')

所以我們在myconfig中做測試:

package com.xbhog.controller;import com.xbhog.popj.Car;import com.xbhog.popj.Person;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class MyController { @Autowired //自動配置,找到容器中的person Person person;@RequestMapping('/person') public Person person(){return person; }}

結(jié)果如圖所示:

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

Web開發(fā)之簡單功能分析靜態(tài)資源的訪問問題

只有靜態(tài)資源放在以下的文件目錄中才可以:

/static/、public/、 resources/ 、META-INF/resources

最后一個測試沒有成功,訪問META-INF/resources/img.png返回404,如果有感興趣的小伙伴可以測試一下。

訪問的方法是:當(dāng)前項(xiàng)目根路徑/ + 靜態(tài)資源名 (localhost:8080/xxx.img)

假如我們的請求路由跟圖片的名字重復(fù)了,spring boot是先請求哪個呢?

我們創(chuàng)建一個controller:

package com.xbhog.controller;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class mycontro { @RequestMapping('/publicimg.png') public String demo(){return 'asss'; }}

讓它與public文件夾下面的圖片相同:

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

開啟主程序測試結(jié)果如下:

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

當(dāng)我們隨便請求一個不存在的圖片,會返回給我們404.

從上面可以看出來,請求進(jìn)來,先去找Controller看能不能處理。不能處理的所有請求又都交給靜態(tài)資源處理器。靜態(tài)資源也找不到則響應(yīng)404頁面

改變默認(rèn)的靜態(tài)資源的路徑:

在application.yaml文件中:

spring: mvc: static-path-pattern: /res/**

這樣我們訪問資源的時候必須啊要加res前綴.

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

但是在歡迎頁支持和自定義Favicon上需要關(guān)掉·tatic-path-pattern.如果開啟的話,index.html與favicon是不起效果的。

如果設(shè)置favicon設(shè)置的完后,不起作用,可以禁用下瀏覽器緩存或者重啟下idea.

設(shè)置的方式(直接放到靜態(tài)資源文件夾下即可):

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

直接訪問localhost:8080即可看見

SpringBoot中的yaml語法及靜態(tài)資源訪問問題

到此這篇關(guān)于SpringBoot之yaml語法及靜態(tài)資源訪問的文章就介紹到這了,更多相關(guān)SpringBoot之yaml語法及靜態(tài)資源訪問 內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: av网站观看 | 日韩中文字幕精品 | 在线国产日韩 | 午夜一区二区三区 | 国产精品第3页 | 综合激情亚洲 | 香蕉视频一直看一直爽 | 极品av在线 | 日韩在线精品 | 色无极亚洲影院 | 国产精品一区av | 欧美久草| 99精品亚洲| 欧美激情视频在线播放 | 日本韩国在线 | 国产乱妇4p交换乱免费视频 | 免费观看视频在线观看 | 免费黄色一级大片 | 午夜视频网站 | 天天操天天操天天操天天操 | 黄色免费网站视频 | 蜜挑成熟时在线观看 | 亚洲欧美另类日韩 | 国产激情影院 | 亚洲精品久久久久avwww潮水 | 97精品视频在线观看 | 黄色中文视频 | 在线播放国产精品 | h片免费| 美日韩一级 | 国产极品在线播放 | 国产色综合视频 | 91碰碰 | 香蕉视频2020 | 国产一级二级毛片 | 91麻豆精品91久久久久同性 | 亚洲四虎影院 | 超碰偷拍| 欧美整片在线观看 | 天天干天天色天天爽 | 天堂精品 |