spring boot 核心技術

      網友投稿 768 2022-05-30

      spring boot ?核心技術

      一. @PropertySource? @ConfigurationProperties? @ImportResource @Value 的用法

      @Component

      @ConfigurationProperties(prefix = "person")

      @Data

      @PropertySource(value = {"classpath:person.properties"})

      public class Person {

      @Value("${person.name}")

      private String name;

      private Integer age;

      private List list;

      private Map map;

      private Dog dog;

      }

      @Data

      public class Dog {

      private String name;

      private String age;

      }

      public class MailServiceTest extends MailserverApplicationTests {

      @Autowired

      private Person person;

      @Test

      public void getPerson(){

      System.out.println(person);

      }

      }

      @SpringBootApplication

      @ImportResource(locations = {"classpath:beans.xml"})

      public class MailserverApplication {

      public static void main(String[] args) {

      SpringApplication.run(MailserverApplication.class, args);

      }

      }

      編寫 自定義的person.properties 文件

      person.name=張無忌

      person.age=18

      person.list=1,2,3

      person.map.k1=v1

      person.map.k2=v2

      person.dog.name=小狗

      person.dog.age=7

      執行測試方法getPerson? 看到控制臺輸出 person信息 ,說明 自動讀取 person.properties 文件 并 注入到 person 對象成功。

      編寫 beans.xml

      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

      xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

      @?ConfigurationProperties 自動 讀取 application.yml 或者 application.properties中的屬性 注入到 person中

      @PropertySource? 用于指定自定義的 配置文件,如果沒有指定默認就是 讀取?application.properties

      @ImportResource 用來導入 spring 的 xml 配置文件,使之生效

      二 、spring.profiles.active用法

      properties 配置方式 ,以 application-{name}.properties的格式命名

      application.prtoperties 文件

      server.port=8000

      spring.profiles.active = prod #配置當前使用的為生產環境配置文件

      application-prod.properties 生產環境配置文件

      server-port=8001

      application-dev.properties 開發環境配置文件

      server.port=8002

      yml 文檔塊配置方式

      #yml 文檔塊的方式指定 使用 生產環境還是 開發 環境配置

      server:

      port: 8081

      spring:

      profiles:

      active: dev

      ---

      server:

      port: 8082

      spring:

      profiles: pro

      ---

      server:

      port: 8083

      spring:

      profiles: dev

      三種激活方式:

      命令行 : --spring.profiles.active= dev

      jvm參數 : -Dspring.profiles,active=dev

      配置文件中配置: spring.profiles.active=dev

      三. 配置文件加載優先級,由高到低

      四. 自動配置原理

      我們 可以在 application.properties 中 配置 debug=true,在啟動項目的時候就可以看到 詳細的 自動配置報告,可以看到 那些類自動 配置成功, 哪些類 沒有 自動配置成功。

      五. 日志框架的使用,統一日志框架到slf4j+logback

      每一個日志框架都有自己的實現,?配置文件還是做成日志框架實現自己本身的配置文件。

      比如我們在開發一個項目的時候,使用 了 slf4j + logback 日志框架, 但是在 引入的其他框架里面使用了 commons-logging,

      log4j ,java.util.logging 進行日志輸出,那么這個時候就需要 我們去 統一 日志 框架了,統一日志框架分三步走 :

      (1)排除 項目中其他的日志框架依賴

      spring boot 核心技術

      (2)用上圖中的中間包來替換掉原有的日志框架

      (3)導入slf4j 的 實現 logback

      如果我們要引入其他框架,一定要把 這個框架默認的日志依賴移除掉,比如 spring 框架用的是commons-logging ,

      spring boot? 使用的是 slf4j + logback , 以以下的方式 把 commons-logging 包 排除掉了(避免包沖突),因為用來替換的中間包 和 原來 被 替換掉的中間的包名 都是一樣的。

      org.springframework

      spring-core

      commons-logging

      commons-logging

      Spring Spring Boot

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:ansible2.4安裝和體驗
      下一篇:【愚公系列】2022年04月 Kubernetes容器集群快速部署之kind單集群
      相關文章
      亚洲成a人片在线观看国产| 亚洲av片在线观看| 亚洲国产精品成人AV无码久久综合影院| 中文字幕亚洲精品资源网| 亚洲精品中文字幕无码蜜桃| 亚洲国产综合精品一区在线播放| 国产精品亚洲一区二区在线观看| 亚洲人成网站色7799| 久久久久亚洲国产| 亚洲综合精品成人| 亚洲中文字幕精品久久| 亚洲性无码AV中文字幕| 久久亚洲最大成人网4438| 亚洲人成在线免费观看| 亚洲国产成人久久精品app| 亚洲欧洲中文日产| 亚洲性无码av在线| 亚洲一区电影在线观看| 亚洲一级片在线播放| 亚洲五月综合网色九月色| 亚洲成a人片在线看| 亚洲色大成网站www永久网站| 亚洲自偷自偷在线成人网站传媒 | 亚洲精品在线视频| 久久精品国产精品亚洲| 国产AV无码专区亚洲AV手机麻豆| 亚洲综合av永久无码精品一区二区| 国产亚洲精久久久久久无码77777| 中文字幕精品亚洲无线码二区| 亚洲色自偷自拍另类小说| 亚洲不卡av不卡一区二区| 亚洲电影国产一区| 亚洲国产成人久久综合一区| 香蕉大伊亚洲人在线观看| 亚洲av无码成人影院一区| 亚洲精品国产日韩无码AV永久免费网 | 亚洲国产精品成人精品无码区 | jiz zz在亚洲| 国产精品亚洲五月天高清| 亚洲片一区二区三区| 久久久青草青青亚洲国产免观 |