最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年07月30日 09:03:53   作者:xbhog  
這篇文章主要介紹了SpringBoot中的yaml語法及靜態(tài)資源訪問問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

配置文件-yaml

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

基本語法:

  • key: value;kv之間有空格
  • 大小寫敏感
  • 使用縮進表示層級關系
  • 縮進不允許使用tab,只允許空格
  • 縮進的空格數(shù)不重要,只要相同層級的元素左對齊即可
  • '#'表示注釋
  • 字符串無需加引號,如果要加,''與""表示字符串內容 會被 轉義/不轉義

數(shù)據(jù)類型:

可以使用的數(shù)據(jù)類型有date\boolean\string\number\null

單個字面量:

k: v   #k:空格v

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

普通寫法:

k:
 k1: v1
 k2: v2
 k3: v3

行內寫法

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

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

普通寫法:

k:
 - v1
 - v2
 - v3

行內寫法

k: [v1,v2,v3]

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

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

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

<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>

安裝完成后,需要啟動一下項目,讓他生效。

實例:

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類:

@Data
public 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來測試我們的配置文件有沒有生效:

因為我們之前已將將person中的屬性映射到了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;

@RestController
public class MyController {
    @Autowired   //自動配置,找到容器中的person
    Person person;
    
    @RequestMapping("/person")
    public Person person(){
        return person;
    }
}

結果如圖所示:

Web開發(fā)之簡單功能分析

靜態(tài)資源的訪問問題

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

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

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

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

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

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

package com.xbhog.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class mycontro {
    @RequestMapping("/publicimg.png")
    public String demo(){
        return "asss";
    }
}

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

開啟主程序測試結果如下:

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

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

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

在application.yaml文件中:

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

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

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

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

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

直接訪問localhost:8080即可看見

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

相關文章

  • java類Circle定義計算圓的面積和周長代碼示例

    java類Circle定義計算圓的面積和周長代碼示例

    要用Java計算圓的周長和面積,需要使用圓的半徑和一些數(shù)學公式,下面這篇文章主要給大家介紹了關于java類Circle定義計算圓的面積、周長的相關資料,需要的朋友可以參考下
    2024-04-04
  • Netty中解碼器的作用及實現(xiàn)詳解

    Netty中解碼器的作用及實現(xiàn)詳解

    這篇文章主要介紹了Netty中解碼器的作用及實現(xiàn)詳解,本章我們只需要讓客戶端發(fā)送消息的時候循環(huán)發(fā)送100次,服務端不變,看看服務端是不是接收到了100條消息,需要的朋友可以參考下
    2023-12-12
  • 使用ftpClient下載ftp上所有文件解析

    使用ftpClient下載ftp上所有文件解析

    最近項目需要寫個小功能,需求就是實時下載ftp指定文件夾下的所有文件(包括子目錄)到本地文件夾中,保留文件到目錄路徑不變。今天小編給大家分享使用ftpClient下載ftp上所有文件的方法,需要的的朋友參考下吧
    2017-04-04
  • elasticsearch啟動警告無法鎖定JVM內存

    elasticsearch啟動警告無法鎖定JVM內存

    今天小編就為大家分享一篇關于elasticsearch啟動警告無法鎖定JVM內存,小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-03-03
  • Spring如何動態(tài)自定義logback日志目錄詳解

    Spring如何動態(tài)自定義logback日志目錄詳解

    這篇文章主要給大家介紹了關于Spring如何動態(tài)自定義logback日志目錄的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2018-10-10
  • 詳解Redis 緩存 + Spring 的集成示例

    詳解Redis 緩存 + Spring 的集成示例

    本篇文章主要介紹了Redis 緩存 + Spring 的集成示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-04-04
  • spring?boot自動裝配之@ComponentScan注解用法詳解

    spring?boot自動裝配之@ComponentScan注解用法詳解

    @ComponentScan的作用就是根據(jù)定義的掃描路徑,把符合掃描規(guī)則的類裝配到spring容器中,下面這篇文章主要給大家介紹了關于spring?boot自動裝配之@ComponentScan注解用法的相關資料,需要的朋友可以參考下
    2023-04-04
  • Java GZIPOutputStream流壓縮文件的操作

    Java GZIPOutputStream流壓縮文件的操作

    這篇文章主要介紹了Java GZIPOutputStream流壓縮文件的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-02-02
  • Spring Boot之內嵌tomcat版本升級操作示例

    Spring Boot之內嵌tomcat版本升級操作示例

    這篇文章主要為大家介紹了Spring Boot之內嵌tomcat版本升級操作示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-06-06
  • 10種簡單的Java性能優(yōu)化

    10種簡單的Java性能優(yōu)化

    你是否正打算優(yōu)化hashCode()方法?是否想要繞開正則表達式?Lukas Eder介紹了很多簡單方便的性能優(yōu)化小貼士以及擴展程序性能的技巧
    2017-11-11

最新評論

邮箱| 汾西县| 龙游县| 两当县| 万山特区| 连江县| 黔西| 开化县| 宜州市| 横山县| 三江| 古田县| 邛崃市| 嘉义市| 阜新市| 嘉荫县| 抚松县| 和顺县| 奇台县| 萨迦县| 青龙| 昌黎县| 桃园县| 城固县| 保靖县| 云霄县| 蛟河市| 昭苏县| 湖南省| 铁岭市| 新闻| 三台县| 平阳县| 正宁县| 荥阳市| 原平市| 白玉县| 青浦区| 雅江县| 闵行区| 定结县|