1,什么是熱部署


spring為開發者提供了一個名為spring-boot-devtools的模塊來使springboot應用支持熱部署,提高開發的效率,修改代碼后無需重啟應用

2,添加依賴和配置

1,@PropertySource

1,為使用要使用@PropertySources
        上面的注入,所有的配置都是寫在appliaction.properties或application.yml文件里,那么如果不想寫在這里面怎么處理呢使用@PropertySource可以解決
2,注入優先級的問題
    所在的配置都是優先注入appliaction.properties或application.yml里面的數據
    如果要不一樣,必須修改配置文件引入的前綴
2,@ImportResource
1,為什么要使用@ImportResource
        從上面所有的配置中可以看出我們沒有使用以前的spring的xml的配置方法,如果還是要使用spring里面的xml的配置方式怎么辦理,使用@ImportResource
 
    在開發中,一般有兩種環境
        1,生產環境  [項目上線,客戶在使用中,就是生產環境]
        2,開發環境[就是開發環境,不解釋]
    有時候開發環境和生產環境的配置方法是不一樣的,那么如何快速的切換呢,這里就要使用profiles文件
 

2,使用方法

1,創建applicatin- dev .properties'
server.port=8081
 
2,創建applicatin-pro.properties

server.port=8082

3,修改application.properties
#server.port=8080
spring.profiles.active=pro

5,yml文件的多配置塊的集成切換

spring: 
  profiles:
  active: pro

server:

  port: 8081
  spring:
  profiles: dev

server:

  port: 8082
  spring:
  profiles: pro

  

2,@Conditional派生注解關屬性;

作用:必須是@Conditional指定的條件成立,才給容器中添加組件,配置配里面的所有內容才生效;

@ConditionalOnJava  系統的java版本是否符合要求
@ConditionalOnBean  容器中存在指定Bean;
@ConditionalOnMissingBean   容器中不存在指定Bean;
@ConditionalOnExpression    滿足SpEL表達式指定
@ConditionalOnClass 系統中有指定的類
@ConditionalOnMissingClass  系統中沒有指定的類
@ConditionalOnSingleCandidate   容器中只有一個指定的Bean,或者這個Bean是首選Bean
@ConditionalOnProperty  系統中指定的屬性是否有指定的值
@ConditionalOnResource  類路徑下是否存在指定資源文件
@ConditionalOnWebApplication    當前是web環境
@ConditionalOnNotWebApplication 當前不是web環境
@ConditionalOnJndi  JNDI存在指定項

  

自動配置類必須在一定的條件下才能生效;
我們怎么知道哪些自動配置類生效?
我們可以通過啟用debug=true屬性(在配置文件配置);來讓控制台打印自動配置報告,這樣我們就可以很方便的知道哪些自動配置類生效;
 

1,thymeleaf概述

簡單說, Thymeleaf 是一個跟 Velocity、FreeMarker 類似的模板引擎,它可以完全替代 JSP 。相較與其他的模板引擎,它有如下三個極吸引人的特點:

1、Thymeleaf 在有網絡和無網絡的環境下皆可運行,即它可以讓美工在瀏覽器查看頁面的靜態效果,也可以讓程序員在服務器查看帶數據的動態頁面效果。這是由於它支持 html 原型,然后在 html 標簽里增加額外的屬性來達到模板+數據的展示方式。瀏覽器解釋 html 時會忽略未定義的標簽屬性,所以 thymeleaf 的模板可以靜態地運行;當有數據返回到頁面時,Thymeleaf 標簽會動態地替換掉靜態內容,使頁面動態顯示。

2、Thymeleaf 開箱即用的特性。它提供標准和spring標准兩種方言,可以直接套用模板實現JSTL、 OGNL表達式效果,避免每天套模板、該jstl、改標簽的困擾。同時開發人員也可以擴展和創建自定義的方言。

3、Thymeleaf 提供spring標准方言和一個與 SpringMVC 完美集成的可選模塊,可以快速的實現表單綁定、屬性編輯器、國際化等功能。

5,Thymeleaf的相關語法

1,簡單表達式   
   1、變量的表達式:${...}
  2、選擇變量表達式:*{...}
  3、信息表達式:#{...}
   4、鏈接URL表達式:@{...}
2,面值
       1、文本文字:'one text', 'Another one!',…
  2、文字數量:0, 34, 3.0, 12.3,…
  3、布爾型常量:true, false
  4、空的文字:null
  5、文字標記:one, sometext, main,…
 
3,文 處理
     1、字符串並置:+
  2、文字替換:|The name is ${name}|
 
4,表 式基本對象
      
    1、#ctx:上下文對象
  2、#vars:上下文變量
  3、#locale:上下文語言環境
  4、#httpServletRequest:(只有在Web上下文)HttpServletRequest對象
  5、#httpSession:(只有在Web上下文)HttpSession對象。
      用法:<span th:text="${#locale.country}">US</span>.
 
5,實用工具對象 
      
#dates: java.util的實用方法。對象:日期格式、組件提取等.
#calendars:類似於#日期,但對於java.util。日歷對象
#numbers:格式化數字對象的實用方法。
#strings:字符串對象的實用方法:包含startsWith,將/附加等。
#objects:實用方法的對象。
#bools:布爾評價的實用方法。
#arrays:數組的實用方法。
#lists:list集合。
#sets:set集合。
#maps:map集合。
#aggregates:實用程序方法用於創建聚集在數組或集合.
#messages:實用程序方法獲取外部信息內部變量表達式,以同樣的方式,因為它們將獲得使用# {…}語法
#ids:實用程序方法來處理可能重復的id屬性(例如,由於迭代)。
 

6,Thymeleaf代碼提示功能

 

 
 
 
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM