微服務架構 SpringBoot(一)


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

由來:

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

為什么學習Spring Boot

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

使用spring boot有什么好處

其實就是簡單、快速、方便!平時如果我們需要搭建一個spring web項目的時候需要怎么做呢?

  • 配置web.xml,加載spring和spring mvc
  • 配置數據庫連接、配置spring事務
  • 配置加載配置文件的讀取,開啟注解
  • 配置日志文件

...

配置完成之后部署tomcat 調試

...

現在非常流行微服務,如果我這個項目僅僅只是需要發送一個郵件,如果我的項目僅僅是生產一個積分;我都需要這樣折騰一遍!

但是如果使用spring boot呢?

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

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

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

 


免責聲明!

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



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