SpringCloud學習(SPRINGCLOUD微服務實戰)一

SpringCloud學習(SPRINGCLOUD微服務實戰)

springboot入門

1.配置文件

1.1能夠自定義參數並在程序中使用

註解@componenthtml

@valuejava

 

例如web

若配置文件爲application-dat.ymlspring


book.name = spring
book.author = abc
@Component
@PropertySource(value = "classpath:/application-dat.yml")
public class Book{
@value("${book.name}")
private String bookName
   @value("${book.author}")
private String bookAuthor
}

也能夠用直接配置前半段配置字符。springboot

@Component
@PropertySource(value = "classpath:/application-dat.yml")
@ConfigurationProperties(prefix = "book")  

public class Book{

private String name
private String author
}

此兩種方配置相同。app

 

在配置文件中還以引用參數dom

book.name = spring
book.info = ${book.name} chubenshe

那麼book.info 就等於 spring chubanshemaven

能夠使用隨機數函數

book.page = ${random,value}

因而可知springboot能夠用在配置中使用一些固定的函數微服務

 

1.2多環境配置

由於開發環境中須要開發, 測試,uat測試,生產各個環境運行並查問題

所以在多套環境的狀況下,springboot支持配置多個文件,而後指定生效一個配置文件

例如

在資源下面寫多個yaml文件

application-dat.yml 生產環境配置文件

application-self.yml;本身開發環境文件

application-test.yml;測試環境配置文件

而後在寫一個總的yml 配置文件讓他們生效

spring.progiles.active = dat //則你項目啓動的時候使用的時候生產配置文件

1.3yaml的格式要求及格

(a)在配置文件中多一個空格都不行

(b)在冒號後面就要跟一個 空格

2.springboot 啓動與測試

2.1啓動

(a) springboot項目用maven install 打成jar包以後 能夠用 Java -jar ***.jar的命令直接啓動;

由於springboot裏自帶tomact。

(b)使用命令行啓動,在啓動時能夠配置修改屬性

例如

java -jar ***.jar --book.name = spring cloud

 

2.2測試

@RunWith(SpringJUnit4ClassRunner.class)//引入Spring對JUnit4的支

@SpringApplicationConfiguration(classes=HelloApplicationc1ass)//指定SpringBoot的啓動類。

@WebAppConfiguration//開啓Web應用的配置,用於模擬Servletcontext

MockMvC對象:
用於模擬調用Controller的接口發起請求,在eest定義的helo
測試用例中,perforn函數執行一次請求調用,accept用於執行接收的數據類型,
andExpect用於判斷接口返回的指望值。

@Before:JUnit中定義在測試用例aret內容執行前預加載的內容,這裏用來初
始化對HelloController的模擬。

注意引入下面的靜態引用,讓status、content、equa1To函數可用

 

2.3springboot數據文件加載機制

1.命令行參數

2.來自SPRING_APPLICATION_JSON的屬性

3.java:comp/env中的 JNDI 屬性

4.Java系統環境變量

5.操做系統環境變量

6.RandomValuePropertySource,隨機值,使用random.*` 來定義

7.jar 包外的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件

8.jar 包內的 Profile 配置文件,如 application-{profile}.properties 和 YAML 文件

9.jar 包外的 Application 配置,如 application.properties 和 application.yml 文件

10.jar 包內的 Application 配置,如 application.properties 和 application.yml 文件

11.在@configuation註解修改的類中,經過@propertyssource 註解定義屬性

12.應用默認屬性,使用springAppliaction.setDefaultPropeorties定義的內容

數字越小,優先級越高。

 

此段中須要學習的額外知識

JNDI 的理解 - zhchoutai - 博客園 http://www.javashuo.com/article/p-peylzpbf-a.html

**JNDI 把這些問題交給J2EE容器(比方weblogic)來配置和管理,程序猿僅僅需要對這些配置和管理進行引用就能夠。 是爲了解耦,是爲了開發出更加可維護、可擴展。

J2EE 規範要求所有 J2EE 容器都要提供 JNDI 規範的實現。

3.監控與管理

 下次繼續。。。

相關文章
相關標籤/搜索