微服務架構 SpringBoot(一)

spring Boot:官網地址 https://spring.io/

由來:

隨着spring組件功能的強大,配置文件也愈來愈複雜繁瑣,背離了spring公司的簡潔快速開發原理,2015年就推出Springboot,號稱幾乎配置,簡潔快速,確實也是這樣,3分鐘搭起後端框架。php

爲何學習Spring Bootjava

  • 簡介開發,時間就是金錢
  • 瞭解互聯網公司技術特色
  • 順應趨勢早受益(好東西你們都用)

使用spring boot有什麼好處

其實就是簡單、快速、方便!平時若是咱們須要搭建一個spring web項目的時候須要怎麼作呢?web

  • 配置web.xml,加載spring和spring mvc
  • 配置數據庫鏈接、配置spring事務
  • 配置加載配置文件的讀取,開啓註解
  • 配置日誌文件

...spring

配置完成以後部署tomcat 調試數據庫

...json

如今很是流行微服務,若是我這個項目僅僅只是須要發送一個郵件,若是個人項目僅僅是生產一個積分;我都須要這樣折騰一遍!後端

可是若是使用spring boot呢?tomcat

很簡單,我僅僅只須要很是少的幾個配置就能夠迅速方便的搭建起來一套web項目或者是構建一個微服務!springboot

說這麼多 來點實戰的就知道了,絕對顛覆三觀(php是最好的語言)mvc

Spring Boot核心功能

  • 能夠獨立運行的Spring項目:能夠以jar的形式獨立運行,經過java -jar xx.jar便可運行
  • 內嵌servlet容器:能夠選擇內嵌tomcat,jetty等
  • 提供servlet簡化maven配置:一個maven項目,使用了jar spring-boot-starter-web時,就會自動加載Spring-boot的依賴包
  • 自動配置spring:Spring boot會根據在類路徑中的jar包、類,爲jar包中的類自動封裝配置bean
  • 準生產的應用健康:提供基於http\ssh\telnet運行時的項目進行監控
  • 無代碼生成和xml配置:主要經過條件註解來實現

快速入門web開發

1.訪問官網:www.spring.io 構建項目

 

 

 

    

直接下載好了 解壓,導入你的編印工具 我用的eclipse

2.導入第一個springboot項目:

 導入以後適應本身的開發環境(默認構建的項目1.8,我這裏用的1.7)

 

 修改pom文件:配置本身的jdk版本號

 

pom.xml文件中默認有兩個模塊:

spring-boot-starter:核心模塊,包括自動配置支持、日誌和YAML;

spring-boot-starter-test:測試模塊,包括JUnit、Hamcrest、Mockito。

Maven刷新修復項目

 SpringBoot目錄結構 

  • 如上圖所示,Spring Boot的基礎結構共三個文件:
  • src/main/java  程序開發以及主程序入口
  • src/main/resources 配置文件
  • src/test/java  測試程序
  •  另外,spingboot建議的目錄結果以下:
  • root package結構:com.example.myproject
com
  +- example
    +- myproject
      +- Application.java
      |
      +- domain
      |  +- Customer.java
      |  +- CustomerRepository.java
      |
      +- service
      |  +- CustomerService.java
      |
      +- controller
      |  +- CustomerController.java
      |
  • Application.java 建議放到跟目錄下面,主要用於作一些框架配置
  • domain目錄主要用於實體(Entity)與數據訪問層(Repository)
  • service 層主要是業務類代碼
  • controller 負責頁面訪問控制
  • 採用默認配置能夠省去不少配置,固然也能夠根據本身的喜歡來進行更改

最後,啓動Application main方法,至此一個java項目搭建好了!

 

啓動成功接下來玩controller吧

@Controller
//@RestClientTest // 標識這個類返回值爲json 相似@ResponseBody
public class HelloSpringBootContorller {
	
	@RequestMapping(value ={"/index","index2"})
	@ResponseBody
	public Map<String,String> index(){
		Map map = new HashMap();
		 map.put("hello", "Spring Boot!!");
			
		 return  map;
	}
}

 

 運行SpringbootdemoApplication main方法訪問:

到此一個web應用就搭好了,簡單嗎?

玩點有意思的吧:

 

想自定義banner那麼先來看下application.properties配置文件 ,以下圖第一個配置tomcat端口號 第二個配置banner就是上圖的路徑在哪裏,實現方式有時間能夠點開看看源碼,很簡單。後期不少配置都會基於此配置文件,會一步步介紹。

 

給你們粘貼一份吧:2b.txt

${AnsiColor.BRIGHT_YELLOW}
                   _ooOoo_
                  o8888888o
                  88" . "88
                  (| -_- |)
                  O\  =  /O
               ____/`---'\____
             .'  \\|     |//  `.
            /  \\|||  :  |||//  \
           /  _||||| -:- |||||-  \
           |   | \\\  -  /// |   |
           | \_|  ''\---/''  |   |
           \  .-\__  `-`  ___/-. /
         ___`. .'  /--.--\  `. . __
      ."" '<  `.___\_<|>_/___.'  >'"".
     | | :  `- \`.;`\ _ /`;.`/ - ` : | |
     \  \ `-.   \_ __\ /__ _/   .-` /  /
======`-.____`-.___\_____/___.-`____.-'======
                   `=---='
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
         佛祖保佑       永無BUG

 

 

 

 啓動變生效,自定義banner,請訪問:https://spring-boot-banner-gen.cfapps.io/banner 頗有意思。

總結

使用spring boot能夠很是方便、快速搭建項目,使咱們不用關心框架之間的兼容性,適用版本等各類問題,咱們想使用任何東西,僅僅添加一個配置就能夠,因此使用sping boot很是適合構建微服務。
今天只是個認識,入門,後期定時推送相關SpringBoot文檔,點播關注吧。

技術交流羣,海量學習資料免費獲取:Q羣:289683917

相關文章
相關標籤/搜索