簡介
自從Spring橫空出世之后,Spring就成了事實上的J2EE標準。Spring作為一個輕量級的J2EE應用框架,就是針對EJB的復雜特性而設計的,最后毫無疑問,Spring憑借它的簡潔,可理解性和可用性贏得了最后的勝利。
Spring從最初的xml配置到后面的注解配置,一直都在不斷的進步,但是可不可以,能不能夠有一種方法可以不要配置就能運行Spring應用程序?于是Spring Boot應運而生。
更多內容請訪問www.flydean.com
SpringBoot是由Pivotal團隊在2013年開始研發(fā)、2014年4月發(fā)布第一個版本的全新開源的輕量級框架。
Spring Boot讓你的企業(yè)級應用更加容易編寫,更加容易運行。并且集成了很多常用的第三方lib庫,免去了大家手動引用配置的麻煩。
使用最簡單的配置運行最復雜的Spring應用程序,應該就是Spring Boot的終極目標。
同時Spring Boot盡可能的擺脫xml配置,能夠提供包括獨立運行,服務器內部運行等各種運行方式,方便我們的使用。
Spring Boot的基本操作
最新的Spring Boot版本是2.3.0.RELEASE,它需要至少JDK8的支持和Spring Framework 5.2.6.RELEASE。
在構建工具方面,需要Maven 3.3+ 和 Gradle 6.3+。
服務器方面,Spring Boot內置三個服務器:Tomcat 9.0,Jetty 9.4和Undertow 2.0。Spring Boot需要部署在Servlet 3.1+的環(huán)境中才能正常運行。
在安裝方面,Spring Boot有兩種安裝方式,第一種就是在Maven或者Gradle中以jar包的形式引入,這種方式的好處就是直觀,并且Spring Boot的配置都是在項目中可以看到的。
第二種方式就是使用Spring Boot CLI,通過cli還可以運行groovy腳本。
下面列出了Spring Boot中的幾個基本模塊:
下面列出的教程文件,大家可以一步一步的去參考運行,運行完畢相信大家對Spring Boot會有一個深刻的理解。
- 使用Spring Boot搭建你的第一個應用程序
- 如何在Spring boot中修改默認端口
- Spring Boot Starters介紹
- Spring boot自定義parent POM
- 使用spring boot創(chuàng)建fat jar APP
- spring boot 使用maven和fat jar/war運行應用程序的對比
- Spring Boot注解
- Spring Boot @EnableAutoConfiguration和 @Configuration的區(qū)別
- 自定義spring boot的自動配置
- 在Spring Boot中配置web app
- 從Spring遷移到Spring Boot
- Spring Boot中的Properties
- SpringBoot @ConfigurationProperties詳解
- 在Spring Boot中加載初始化數(shù)據(jù)
- Spring Boot的exit code
- Shutdown SpringBoot App
- Spring boot 自定義banner
- Spring Boot filter
- Spring Boot中使用@JsonComponent
- Spring Boot國際化支持
Spring Boot的構建和部署
開發(fā)java項目少不了要用到maven或者gradle,對比gradle而言,可能maven要更加常用一些。要使用maven那就必要要安裝maven,如果有些用戶不想安裝maven怎么辦?或者說用戶不想全局安裝maven,那么可以使用項目級別的Maven Wrapper來實現(xiàn)這個功能。
如果大家使用IntelliJ IDEA來開發(fā)Spring boot項目, 如果選擇從Spring Initializr來創(chuàng)建項目,則會在項目中自動應用Maven Wrapper。簡單點說就是在項目目錄下面會多出兩個文件: mvnw 和 mvnw.cmd。
當我們創(chuàng)建好了Spring Boot應用程序之后,怎么在生成環(huán)境中運行呢?如果只是以原始的java -jar 的方式來運行的話,不能保證程序的健壯性和穩(wěn)定性,最好的辦法是將程序注冊成為服務來使用。
Spring Boot工具
Spring Boot Actuator 在Spring Boot第一個版本發(fā)布的時候就有了,它為Spring Boot提供了一系列產(chǎn)品級的特性:監(jiān)控應用程序,收集元數(shù)據(jù),運行情況或者數(shù)據(jù)庫狀態(tài)等。
使用Spring Boot Actuator我們可以直接使用這些特性而不需要自己去實現(xiàn),它是用HTTP或者JMX來和外界交互。
Spring Boot為我們提供了一個便捷的開發(fā)Spring Boot應用程序的環(huán)境,同時為了方便我們的開發(fā)Spring Boot應用程序,Spring Boot 推出了Spring Boot devtool的工具來方便我們更加快速的開發(fā)和測試Spring Boot應用程序。
前面我們講了Spring Boot的Actuator。但是Spring Boot Actuator只是提供了一個個的接口,需要我們自行集成到監(jiān)控程序中。今天我們將會講解一個優(yōu)秀的監(jiān)控工具Spring Boot Admin。 它采用圖形化的界面,讓我們的Spring Boot管理更加簡單。
Spring Boot的測試
測試是一個應用程序必須要有的功能,它可以保證程序的健壯性,和穩(wěn)定性,尤其是在CI環(huán)境中更是如此。
Spring Boot有專門的spring-boot-starter-test,通過使用它可以很方便的在Spring Boot進行測試。
Spring Boot中使用JPA
JPA的全稱是Java Persistence API (JPA),他是一個存儲API的標準,而Spring data JPA就是對JPA的一種實現(xiàn),可以讓我們方便的對數(shù)據(jù)進行存取。按照約定好的方法命名規(guī)則寫dao層接口,從而在不實現(xiàn)接口的情況下,實現(xiàn)對數(shù)據(jù)庫的訪問和操作。同時提供了很多除了CRUD之外的功能,如分頁、排序、復雜查詢等等。
Spring data JPA可以看做是對Hibernate的二次封裝。在Spring Boot中使用JPA是非常的方便。
- Spring Boot 之Spring data JPA簡介
- Spring Boot JPA中java 8 的應用
- Spring Boot中Spring data注解的使用
- 在Spring Boot使用H2內存數(shù)據(jù)庫
- 在Spring Boot中使用內存數(shù)據(jù)庫
- Spring Boot JPA中使用@Entity和@Table
- Spring Boot JPA的查詢語句
- Spring Boot JPA中關聯(lián)表的使用
- Spring Boot JPA 中transaction的使用
Spring Boot和第三方系統(tǒng)的集成
Spring Boot為了開發(fā)人員的方便,已經(jīng)集成了很多第三方的服務,我們可以直接使用他們。
甚至如果Spring官方?jīng)]有提供集成的話,第三方系統(tǒng)本身也會提供跟Spring的集成,因為Spring的使用實在是太廣泛了。
總結
本文將會持續(xù)更新Spring Boot 2.x相關的文章,大家覺得不錯可以點個關注,同時如果大家有建議的教程內容,歡迎大家留言回復,我會盡量補齊,謝謝大家的支持!
本文作者:flydean程序那些事
本文鏈接:http://www.flydean.com/learn-spring-boot/
本文來源:flydean的博客
歡迎關注我的公眾號:程序那些事,更多精彩等著您!