国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

SpringBoot配置文件和日志

這篇具有很好參考價值的文章主要介紹了SpringBoot配置文件和日志。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

SpringBoot配置文件

SpringBoot配置文件的作用?

項目中的重要數(shù)據(jù)寫在配置文件當中

降低代碼耦合?

SpringBoot配置文件的格式?

properties配置文件

讀取配置文件中的內(nèi)容(@Value注解使用${}格式讀取)

properties優(yōu)缺點?

yml配置文件?

yml特點:

yml語法?

yml對于單雙引號的問題?

yml配置對象多行寫法?

yml 配置文件單行寫法

獲取對象:

①在yml配置文件中存放一個對象?

②新建一個實體類(與該對象保存一致)并注入到Spring容器?

③從配置文件中獲取該對象?

④通過屬性注入獲取對象?

yml配置集合?

①在yml中存放一個集合

②注入集合

③獲取bean對象?

properties和yml有什么區(qū)別(重要)?

SpringBoot日志?

日志的作用:?

如何使用日志:?

日志的級別 (由低到高):

日志的級別設置:

日志的持久化:?

①配置日志的保存路徑?

②配置日志的文件名字

③更加簡易的添加日志的方式:添加lombok

lombok常用注解:


SpringBoot配置文件

SpringBoot配置文件的作用?

項目中的重要數(shù)據(jù)寫在配置文件當中

如:數(shù)據(jù)庫的連接信息,項目的啟動端口,第三方系統(tǒng)的日志信息等等,如果沒有我們的配置文件,數(shù)據(jù)庫就不能連接。

降低代碼耦合?

在使用servlet的時候,包括使用JDBC編程的時候,數(shù)據(jù)庫的連接信息都是寫在java代碼中的,在SpringBoot框架中則要寫到配置文件中。

寫到配置文件中就可以降低代碼的耦合程度。?

配置文件中的內(nèi)容便于開發(fā)者進行修改,如果寫在java文件中,那么編譯后的.class文件就是只可以讀的,不能進行修改。而且寫到配置文件中也便于開發(fā)者可以在配置文件中看到項目部署的端口號,數(shù)據(jù)庫連接情況等等。

SpringBoot配置文件的格式?

一般是兩種格式;

properties(默認)

yml(yaml)

SpringBoot配置文件和日志

如果這兩個格式的配置文件都有的時候(不建議出現(xiàn)兩種),優(yōu)先以properties格式的為主,這也是SpringBoot約定大于配置的一個體現(xiàn)。

注意:兩種格式,都得以application.properties和application.yml命名,因為SpringBoot啟動的時候只讀取application命名的配置文件。?

properties配置文件

鍵值對Key=Value的方式?

可以使用系統(tǒng)的配置,也可以自定義?

SpringBoot配置文件和日志

SpringBoot配置文件和日志

讀取配置文件中的內(nèi)容(@Value注解使用${}格式讀?。?/h4>

使用@Value注解來讀取配置文件的內(nèi)容,使用${}獲取到配置文件中內(nèi)容的賦值。

package com.example.demo.Controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody
@RequestMapping("/user")
public class UserController {
    @Value("username")
    private String name;
    @RequestMapping("/sayHi")
    public String sayHi(){
        return "Hi "+ name;
    }
}

SpringBoot配置文件和日志

如果不加${}相當于@Value中的字符串賦值給了name。?

如果要獲得賦值的配置文件則需要使用${}來獲取。

package com.example.demo.Controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@ResponseBody
@RequestMapping("/user")
public class UserController {
    @Value("${studentname}")
    private String name;
    @RequestMapping("/sayHi")
    public String sayHi(){
        return "Hi "+ name;
    }
}

SpringBoot配置文件和日志SpringBoot配置文件和日志

properties優(yōu)缺點?

優(yōu)點:

1.是系統(tǒng)默認的配置文件

2.優(yōu)先級比yml高

3.格式簡單

缺點:寫法比較冗余(包名必須全都寫上,很多相同包名下的配置都要寫上包名)

SpringBoot配置文件和日志

yml配置文件?

yml是yaml的縮寫,在使用配置文件時使用yml和yaml都可以,推薦使用yml。

yml可讀性高,寫法簡單,易于理解,語法和JSON相似?

yml特點:

??1、寫法簡單、可讀性高;

? ?2、支持更多的數(shù)據(jù)類型

? ?3、支持跨語言的使用(最大優(yōu)勢)

yml語法?

yml也是按照key:value的方式存儲的,但是它的寫法比properties更簡潔。

SpringBoot配置文件和日志

tab和空格不能少,否則容器無法識別?

package com.example.demo.Controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController//==@Controller+@ResponseBody
public class StudentController {
    @Value("${server.bbbb}")
    private String name;
    @RequestMapping("/sayhi")
    public String sayHi(){
        return "Hi "+name;
    }

}

SpringBoot配置文件和日志

SpringBoot配置文件和日志

yml對于單雙引號的問題?

SpringBoot配置文件和日志

前兩種:

SpringBoot配置文件和日志

加雙引號;

SpringBoot配置文件和日志

在網(wǎng)頁中\(zhòng)n轉(zhuǎn)義字符不好看出來。

SpringBoot配置文件和日志

yml配置對象多行寫法?

#對象多行寫法
student :
  id : 1
  name : 張三
  age : 18

yml 配置文件單行寫法

#對象單行寫法
student2 : {id : 2, name : 李四, age : 19}

獲取對象:

①在yml配置文件中存放一個對象?

?SpringBoot配置文件和日志

②新建一個實體類(與該對象保存一致)并注入到Spring容器?

package com.example.demo;

import lombok.Data;
import org.springframework.stereotype.Component;

@Data
@Component
public class Student {
    private int id;
    private String name;
    private int age;
}

③從配置文件中獲取該對象?

SpringBoot配置文件和日志

④通過屬性注入獲取對象?

package com.example.demo.controller;

import com.example.demo.Student;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

@Controller
public class StudentController {
    @Autowired
    private Student student;
    
    public Student getStudent(){
        return student;
    }
}

yml配置集合?

#集合
#myName對應于實體類
#name是集合
myName : { name : [ 張三, 李四, 王五 ] }

①在yml中存放一個集合

SpringBoot配置文件和日志??

②注入集合

SpringBoot配置文件和日志

③獲取bean對象?

package com.example.demo.controller;

import com.example.demo.MyNameController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

@Controller
@RequestMapping("/hello")
public class ListController {
    @Autowired
    private MyNameController myNameController;


@RequestMapping("/hi")
@ResponseBody
    public String getNames(){
        return myNameController.getName()+"";
    }
}

properties和yml有什么區(qū)別(重要)?

區(qū)別1:properties僅僅支持Java項目,但是yml支持包括Java在內(nèi)的多種語言(例如python);

區(qū)別2:properties的key寫起來比較冗余,不像yml那樣簡易。(yml支持層級,層級之間采用縮進的方式)

區(qū)別3:yml支持更多的數(shù)據(jù)類型(string,object,list)

SpringBoot日志?

日志的作用:?

1、發(fā)現(xiàn)和定位問題,報錯了不查看日志,難以發(fā)現(xiàn)和定位問題

2、記錄用戶的登錄日志,方便分析用戶的登錄狀態(tài),是惡意還是正常

3、記錄系統(tǒng)的操作情況,定位操作人,操作時間和操作行為等等?

4、記錄程序的執(zhí)行時間,方便后續(xù)的優(yōu)化等等....?

如何使用日志:?

SpringBoot內(nèi)置了日志框架,所以會有默認的日志。?

SpringBoot配置文件和日志??

使用日志,首先我們要找到日志的門面SLF4J ,然后根據(jù)SLF4J獲取到日志對象,再進行使用。

SpringBoot配置文件和日志

package com.example.demo.controller;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/hello")
public class UserController {
    //通過slf4j獲取日志對象
    private static Logger logger= LoggerFactory.getLogger(UserController.class);
    //輸出日志
    @RequestMapping("/hi")
    public void sayhi(){
        logger.info("hi i'm info");
        logger.debug("hi i'm debug");
        logger.error("hi i'm error");
        logger.warn("hi i'm warn");
    }
}

SpringBoot配置文件和日志

日志的級別 (由低到高):

trace
? ? ? 少許的日志,這一個是最低的級別。

debug
? ? ? ? 這個級別用于"調(diào)試"的級別

info
? ? ? ?這個級別是普通的日志信息。(如果不指定日志的級別,那么默認就是這個)

warn
? ? ? ?警告日志:有一些地方存在警告的風險的,就需要使用到這個warn級別的日志

error
? ? ? ?錯誤級別的日志,如果發(fā)生了一些錯誤,那么就需要使用這個級別來記錄。

fatal
? ? ? ?發(fā)生了比較致命的情況,需要由系統(tǒng)來進行輸出,不可以由用戶手動進行debug輸出。
?

?默認的級別是info,所以一般情況下只會出現(xiàn)info及其以上的日志,較為低級的日志一般不會出現(xiàn)。

日志的級別設置:

日志的默認級別是info,所以info以上的日志一般不會出現(xiàn),但是這個默認的級別是可以通過配置文件進行修改的。(注意:fatal是由系統(tǒng)輸出的,不能我們手動進行debug輸出)

SpringBoot配置文件和日志

當我們修改默認級別為error的時候,控制臺就基本沒有日志

SpringBoot配置文件和日志上述是全局日志的設定,當然也有局部日志的設定,但是局部日志的設定要服從全局?

SpringBoot配置文件和日志

日志的持久化:?

日志的持久化,說白了就是把日志存在本地的磁盤?

①配置日志的保存路徑?

這里的路徑中要用“/” ,因為“/”會被認為是特殊符號

SpringBoot配置文件和日志?目標目錄下就會有個日志文件:

SpringBoot配置文件和日志

②配置日志的文件名字

?SpringBoot配置文件和日志

SpringBoot配置文件和日志

③更加簡易的添加日志的方式:添加lombok

1、安裝一個EditStarters插件:

SpringBoot配置文件和日志

2、添加@Slf4j注解

SpringBoot配置文件和日志

SpringBoot配置文件和日志

那么為什么@Slf4j就可以生成一個log對象呢?這個主要是因為在編譯時期@Slf4j會為當前類當中設置一個靜態(tài)從常量屬性,這一個屬性就是log。

我們可以看看UserController的字節(jié)碼文件:

SpringBoot配置文件和日志

lombok常用注解:

?志注解

注解 作?
@Slf4j 添加?個名為 log 的?志,使? slf4j

基本注解

注解 作用
@Getter ?動添加 getter ?法
@Setter ?動添加 setter ?法
@ToString ?動添加 toString ?法
@EqualsAndHashCode ?動添加 equals 和 hashCode ?法
@NoArgsConstructor ?動添加?參構(gòu)造?法
@AllArgsConstructor ?動添加全屬性構(gòu)造?法,順序按照屬性的定義順序
@NonNull 屬性不能為 null
@RequiredArgsConstructor ?動添加必需屬性的構(gòu)造?法,final + @NonNull 的
屬性為必需

組合注解:

注解 作用
@Data @Getter + @Setter + @ToString +
@EqualsAndHashCode +
@RequiredArgsConstructor +
@NoArgsConstructor

注解的原理,就是在編譯時期添加對應的方法?文章來源地址http://www.zghlxwxcb.cn/news/detail-452790.html

到了這里,關于SpringBoot配置文件和日志的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • SpringBoot3中的屬性綁定注解和YMAL配置文件、日志

    SpringBoot摒棄XML配置方式,改為 全注解驅(qū)動 1. 組件注冊 @Configuration 、 @SpringBootConfiguration @Bean 、 @Scope @Controller 、 @Service 、 @Repository 、 @Component @Import @ComponentScan 步驟: 1、@Configuration 編寫一個配置類 2、在配置類中,自定義方法給容器中注冊組件。配合@Bean 3、或使用@Import

    2024年02月11日
    瀏覽(19)
  • 深入理解 SpringBoot 日志框架:從入門到高級應用——(五)Log4j2配置文件詳解

    Log4j2 官方文檔:https://logging.apache.org/log4j/2.x/manual/index.html Log4j2 是一個Java日志框架,用于記錄應用程序在運行時的信息。它是 Log4j 的升級版本,提供了更快的處理速度,更快的日志記錄和更豐富的日志記錄功能,并支持異步日志記錄,減少了對應用程序性能的影響。它可以

    2024年02月05日
    瀏覽(26)
  • 關于磁盤空間不夠,導致報錯 springboot內(nèi)置tomcat相關的臨時目錄無法創(chuàng)建等問題,如何自定義配置 tomcat 緩存文件路徑

    關于磁盤空間不夠,導致報錯 springboot內(nèi)置tomcat相關的臨時目錄無法創(chuàng)建等問題,如何自定義配置 tomcat 緩存文件路徑 解決方法: shell 腳本命令:(配置自定義緩存路徑參數(shù) -Djava.io.tmpdir ) 注意: tmpPath 的絕對路徑值必須是 / 斜杠結(jié)尾。 1. springboot內(nèi)置tomcat相關的臨時目錄自

    2024年02月09日
    瀏覽(34)
  • golang判斷目錄是否存在和生成日志文件

    package main import ( ? ? \\\"fmt\\\" ? ? \\\"io\\\" ? ? \\\"os\\\" ? ? \\\"time\\\" ? ? \\\"github.com/sirupsen/logrus\\\" ) func main() { ? ? defer func() { ? ? ? ? err := recover() ? ? ? ? if err != nil { ? ? ? ? ? ? logrus.Info(err) ? ? ? ? } ? ? }() ? ? log_path := \\\"runtime/logs/\\\" ? ? _, err := os.Stat(log_path) ? ? if err != nil { ? ? ? ? i

    2024年02月16日
    瀏覽(27)
  • Linux 更加優(yōu)雅地運行 JAR 文件,并將日志文件輸出到本地目錄,并優(yōu)雅的查看日志文件信息

    方式一:直接運行jar包,最常用的啟動jar包命令,特點:當前ssh窗口被鎖定,CTRL + C或關閉窗口,將打斷程序運行,程序退出 方式二:代表在后臺運行 ,CTRL + C后程序不會被終止,關閉SSH客戶端連接,將終止程序 使用 nohup 命令將進程放入后臺運行,并使用 符號使命令立即返

    2024年02月16日
    瀏覽(60)
  • 軟件測試Pytest實現(xiàn)接口自動化應該如何在用例執(zhí)行后打印日志到日志目錄生成日志文件?

    軟件測試Pytest實現(xiàn)接口自動化應該如何在用例執(zhí)行后打印日志到日志目錄生成日志文件?

    Pytest可以使用內(nèi)置的logging模塊來實現(xiàn)接口自動化測試用例執(zhí)行后打印日志到日志目錄以生成日志文件。以下是實現(xiàn)步驟: 1、在pytest配置文件(conftest.py)中,定義一個日志輸出路徑,并設置logging模塊。 2、在測試用例中調(diào)用logging模塊,輸入需要生成的日志信息。 3、運行p

    2024年02月10日
    瀏覽(35)
  • SpringBoot實現(xiàn)文件記錄日志,日志文件自動歸檔和壓縮

    SpringBoot實現(xiàn)文件記錄日志,日志文件自動歸檔和壓縮

    ?? @ 作者: Eric ?? @ 主頁: https://blog.csdn.net/weixin_47316183?type=blog ?? @ 主題: SpringBoot實現(xiàn)文件記錄日志,日志文件自動歸檔和壓縮 ?? @ 創(chuàng)作時間: 2023年08月06日 Logback 是一個Java日志框架,它是 log4j 的后繼者,被廣泛用于應用程序中記錄日志。 Logger(日志記錄器): L

    2024年02月14日
    瀏覽(21)
  • springboot-靜態(tài)資源目錄的配置

    配置節(jié)點:spring.web.resources.static-locations 值為要配置的靜態(tài)資源存放目錄 如: 以上配置中,設置靜態(tài)資源目錄為src/main/resources/test/目錄。 假如在test目錄下存放文件test.txt,程序啟動后,便能通過瀏覽器訪問ip:port/test.txt訪問文件。 新建WebMvcConfig類,繼承WebMvcConfigurationSupport類

    2024年02月16日
    瀏覽(21)
  • SpringBoot獲取jar文件所在目錄

    例如我把jar文件放在/opt/test/目錄下,并且把當前工作目錄定位在/opt/test/目錄下,獲取到的結(jié)果確實是:/opt/test/ 但是! 但是! 但是!當我把工作目錄切換(cd /home/)到其它地方:例如:/home/ 這時候再次通過上面的方式獲取到的結(jié)果就不是理想的結(jié)果了,而是:/home/ 之后我

    2024年02月09日
    瀏覽(22)
  • nginx上web服務的基本安全優(yōu)化、服務性能優(yōu)化、訪問日志優(yōu)化、目錄資源優(yōu)化和防盜鏈配置簡介

    nginx上web服務的基本安全優(yōu)化、服務性能優(yōu)化、訪問日志優(yōu)化、目錄資源優(yōu)化和防盜鏈配置簡介

    目錄 一.基本安全優(yōu)化 1.隱藏nginx軟件版本信息 2.更改源碼來隱藏軟件名和版本 (1)修改第一個文件(核心頭文件),在nginx安裝目錄下找到這個文件并修改 (2)第二個文件 (3)第三個文件,內(nèi)置響應信息頁面 (4)第四個文件 (5)重新編譯安裝并重啟 3.更改nginx服務的默

    2024年02月13日
    瀏覽(19)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包