Spring Cloud的微服務是基于Spring Boot的,每一個服務都是一個Spring Boot應用,每個Spring Boot可以搭配不同的Spring Cloud組件窗宦,一個簡單的服務打個比方,可以是一個搭配了spring-boot-starter-web的Spring Boot應用(SpringMVC)款青,接下來我們來簡單創(chuàng)建一個微服務纲酗。
項目搭建
Spring提供了很多快速構(gòu)建應用的方法辩涝,IntelliJ里面提供了一個很好用的搭建工具Spring Initializer贸伐,可以直接創(chuàng)建Spring Boot項目。
接下來選擇所需的Spring Boot組件怔揩,一個最小的可用Spring MVC可以只包含Web組件捉邢。
也可以通過maven項目新建,新建出來的項目包含web組件的maven依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
以及一個入口方法類
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Example {
public static void main(String[] args) throws Exception {
SpringApplication.run(Example.class, args);
}
}
其中上面三個注解是搭建一個Spring Boot項目的關(guān)鍵商膊,它為我們做好了所有配置伏伐。
- @Configuration代表這是個Spring Boot配置類
- @EnableAutoConfiguration自動引入Spring Boot為我們做的配置
- @ComponentScan則自動掃描當前目錄以及子目錄尋找Spring Boot組件
上面三個注解是標準寫法,所以Spring Boot定義了@SpringBootApplication代替上面三個注解晕拆,這樣一個注解就夠了藐翎。入口方法里面只有一句run代碼,非常優(yōu)雅。
另外一個值得關(guān)注的文件是Spring配置文件application.properties吝镣,用過Spring的一定不會陌生堤器,它可以定義我們項目的配置,格式是最簡單的xxx.xxx=xxx
提供服務
按照MVC的模式闸溃,我們接下來應該寫一個Controller類來提供服務拱撵,并注解@RestController來配置這個Controller拴测,但是為了方便,也可以直接在我們的Example入口類上加多一個@RestController寸齐,然后寫一個home()方法抄谐。其中@RestController注解是為了把服務映射到根目錄"/"上面蛹含。
@RestController
@Configuration
@EnableAutoConfiguration
@ComponentScan
public class Example {
@RequestMapping("/")
String home() {
return “Hello World”;
}
...
}
運行服務
點擊IDE上的運行工具,或者命令行到項目目錄執(zhí)行以下Maven命令酷窥,我們的第一個服務就跑起來了蓬推。
mvn clean package spring-boot:run
這時可以訪問http://localhost:8080/ 就會看到我們熟悉的Hello World澡腾。
上一篇:Spring Cloud 微服務(一) 什么是微服務
下一篇:Spring Cloud 微服務(三) 服務發(fā)現(xiàn)