javascript
Spring Boot –适合您的靴子!
您需要一點(diǎn)彈簧嗎? 厭倦了所有繁瑣的Web服務(wù)器并部署WAR文件? 好吧,你很幸運(yùn)。 Spring Boot對構(gòu)建可用于生產(chǎn)的Spring應(yīng)用程序持堅(jiān)定態(tài)度。 Spring Boot傾向于使用約定而非配置,它旨在使您盡快啟動并運(yùn)行。
在此博客中,我將引導(dǎo)您逐步完成如何使Spring Boot在您的計算機(jī)上運(yùn)行的過程。
只是穿上并系好鞋帶……
Spring Boot使創(chuàng)建“ Spring”的獨(dú)立,生產(chǎn)級基于Spring的應(yīng)用程序變得容易。 由于它從Spring平臺和第三方庫的觀點(diǎn)出發(fā),因此您可以大驚小怪地開始工作。 大多數(shù)Spring Boot應(yīng)用程序只需要很少的Spring配置。
這些靴子是為走路準(zhǔn)備的……也許正在跑步
因此,Spring Boot的最大優(yōu)點(diǎn)是能夠在極短的時間內(nèi)啟動并運(yùn)行。 您不必為此安裝Web服務(wù)器,例如JBoss,Websphere甚至是Tomcat。 您需要做的就是拉入適當(dāng)?shù)膸?#xff0c;進(jìn)行批注并解雇。 如果您打算做很多Spring Boot項(xiàng)目,我強(qiáng)烈建議您使用可用的Spring Tool Suite。 它具有一些使Boot項(xiàng)目真正易于管理的強(qiáng)大功能。
您當(dāng)然可以在Maven或Gradle之間進(jìn)行選擇,以管理依賴關(guān)系和構(gòu)建。 我的示例將在Maven中進(jìn)行,因?yàn)檫@是我所熟悉的。 這與您的配置首選項(xiàng)有關(guān)。
多種風(fēng)格可供選擇
使Spring Boot出色的原因之一是,它可以與其他Spring產(chǎn)品一起很好地工作。 哇,去圖嗎? 您可以使用Spring MVC,Jetty或Thymeleaf,只需將它們添加到依賴項(xiàng)中,然后Spring Boot自動將它們添加到其中。
天天穿靴子
Spring Boot希望為您簡化事情。 您可以用它來做很多事情。 以下是一些要點(diǎn)。
- 通過Spring Boot,您可以將應(yīng)用程序打包為獨(dú)立的JAR文件,并嵌入完整的Tomcat服務(wù)器
- Spring Boot使您仍然可以將應(yīng)用程序打包為WAR。
- 配置基于類路徑中的內(nèi)容(路徑中的MySQL DB,它將為您設(shè)置)
- 它具有默認(rèn)設(shè)置(因此您不必配置它們)
- 通過添加到類路徑可以輕松覆蓋(添加H2依賴關(guān)系并將其切換)
- 讓我們的新開發(fā)者著急學(xué)習(xí)繩索,并在以后學(xué)習(xí)更多時進(jìn)行更改。
嬰兒靴
但是請記住,該博客的目的只是讓您熟悉如何在計算機(jī)上運(yùn)行Spring Boot。 這將非常簡單明了。 目標(biāo)是讓您入門。 我們不打算在此處編寫新的Uber應(yīng)用程序或其他代碼。 寶貝踩鄉(xiāng)親! 我們只是想讓您的腳溫暖。 我們都知道那些教程會向我們?nèi)雍芏鄸|西,只是掩蓋一切。 不在這里。
因此,入門最簡單的方法是從Spring本身中提取教程代碼。 這是一個很好的入門點(diǎn)。 無需將整個Spring庫交給您就可以查看正在發(fā)生的事情,這對您來說是個好習(xí)慣。
克隆靴子…注意目標(biāo)!
首先,讓我們克隆在此處找到的Spring示例。
git clone https://github.com/spring-guides/gs-spring-boot.git我們不會進(jìn)入在IDE中進(jìn)行設(shè)置的步驟,因?yàn)槊總€人都有自己的偏好。
施工靴
讓我們分解一下。 這些注釋是關(guān)于什么的?
@SpringBootApplication是一個方便注釋,它添加了以下所有內(nèi)容:
- @Configuration將類標(biāo)記為應(yīng)用程序上下文的Bean定義的源。
- @EnableAutoConfiguration告訴Spring Boot根據(jù)類路徑設(shè)置,其他bean和各種屬性設(shè)置開始添加bean。
- 通常,您將為Spring MVC應(yīng)用程序添加@EnableWebMvc ,但是當(dāng)Spring Boot在類路徑上看到spring-webmvc時,它將自動添加它。 這會將應(yīng)用程序標(biāo)記為Web應(yīng)用程序,并激活諸如設(shè)置DispatcherServlet類的關(guān)鍵行為。
- @ComponentScan告訴Spring在hello包中尋找其他組件,配置和服務(wù),從而允許它找到控制器。
哇,我一直在尋找新房時喜歡優(yōu)質(zhì)的內(nèi)裝! 但是這些閃亮的新物品背后究竟發(fā)生了什么?
main()方法調(diào)用Spring Boot的SpringApplication.run()方法來啟動。
我們是否提到(或您注意到)您不必弄亂XML? 多么可觀的獎金! 沒有更多的web.xml文件廢話了。 不再想知道我是否在文件中放置了正確的標(biāo)簽,并且想知道那條無法讀取的錯誤消息告訴您什么不再是什么問題了。 這是100%純Java。 無需配置或管道。 他們?yōu)槟隽恕?他們真好!
設(shè)置好并準(zhǔn)備開始編輯后,讓我們快速看一下Application.java文件。 在這里,您將找到可運(yùn)行的main類。 它具有@SpringBootApplication的注釋。 這是使該應(yīng)用程序成為啟動應(yīng)用程序的關(guān)鍵注釋。
package hello;import java.util.Arrays;import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean;@SpringBootApplication public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}@Beanpublic CommandLineRunner commandLineRunner(ApplicationContext ctx) {return args -> {System.out.println("Let's inspect the beans provided by Spring Boot:");String[] beanNames = ctx.getBeanDefinitionNames();Arrays.sort(beanNames);for (String beanName : beanNames) {System.out.println(beanName);}};}}現(xiàn)在運(yùn)行它! 如果您使用的是STS套件(并已正確構(gòu)建),則將在啟動儀表板中看到它。 對于其他所有人,請?jiān)贗DE中右鍵單擊并以“ Run As => Java Application”運(yùn)行,或轉(zhuǎn)到您喜歡的命令行工具。 使用以下命令。
Maven:
mvn package && java -jar target/gs-spring-boot-0.1.0.jar搖籃:
./gradlew build && java -jar build/libs/gs-spring-boot-0.1.0.jar輸出將顯示嵌入式服務(wù)器的正常Spring啟動,然后它將遍歷所有bean并為您寫出來!
你做到了! 您系好第一雙Spring Boot。
展示靴子
為了進(jìn)行銷售或只是吸引眼球,此示例拋出了標(biāo)有@Bean的CommandLineRunner方法,該方法在啟動時運(yùn)行。 它檢索由您的應(yīng)用程序創(chuàng)建或由于Spring Boot而自動添加的所有bean。 它對它們進(jìn)行排序并打印出來。 您可以放入其他啟動信息,也可以做其他一些工作。
在線引導(dǎo)
在購買合適的靴子時,我們希望能搭配我們最喜歡的牛仔褲或女士的漂亮裙子搭配漂亮的裙子,對嗎? Well Boot提供了一種簡單的方法來將您的靴子推向世界,供其他人查看。 好吧,我們需要雇用一個Controller來做到這一點(diǎn)。 多么方便:我們下載的Spring代碼已經(jīng)為我們準(zhǔn)備好了。
package hello;import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RequestMapping;@RestController public class HelloController {@RequestMapping("/")public String index() {return "Greetings from Spring Boot!";}}這里最重要的兩件事是您看到的@RestController和@RequestMapping批注。
@RestController是一個下意識的消息,它是午睡時間。 Errr,抱歉,我正在困倦。 不,這意味著我們有一個RESTful控制器在等待,監(jiān)視,監(jiān)聽?wèi)?yīng)用程序?qū)ζ涞恼{(diào)用。
@RequestMapping是調(diào)用特定方法的URL名稱。 因此,在給定示例的情況下,它是應(yīng)用程序的“索引”。 這里的示例只是返回文本。 這是很酷的事情; 我們可以在這里退回幾乎所有您想退回的東西。
JSON在Argo上有不錯的靴子嗎?
最后,我認(rèn)為大多數(shù)Spring Boot冒險者現(xiàn)在正在做的就是將其用作其應(yīng)用程序的端點(diǎn)。 關(guān)于如何完成此操作,有很多不同的選擇。 通過JSON提供的數(shù)據(jù)或XML解決方案。 我們現(xiàn)在只關(guān)注一個。 Jackson是一個很好的輕量級工具,用于完成對調(diào)用場景的JSON輸出。
默認(rèn)情況下,在Spring Boot的類路徑中可以方便地找到Jackson。 自己檢查一下:
mvn dependency:tree`要么
./gradlew dependencies讓我們已經(jīng)為這些靴子添加了一些贊譽(yù)吧! 在源代碼中的任何位置添加一個新類。 只是一個POJO。
public class Greeting {private final long id;private final String content;public Greeting(long id, String content) {this.id = id;this.content = content;}public long getId() {return id;}public String getContent() {return content;}}現(xiàn)在,回到你的 控制器并將其粘貼到:
private static final String template = "Ahoy, %s!"; private final AtomicLong counter = new AtomicLong();@RequestMapping(method=RequestMethod.GET)public @ResponseBody Greeting sayHello(@RequestParam(value="name", required=false, defaultValue="Argonaut") String name) {return new Greeting(counter.incrementAndGet(), String.format(template, name));}現(xiàn)在重新啟動您的啟動應(yīng)用程序。 返回瀏覽器,而不是/轉(zhuǎn)到hello-world 。 您應(yīng)該會看到一些很棒的JSON輸出。 如果您這樣做了,那么您就可以在Spring Boot和Jackson中創(chuàng)建端點(diǎn)了。
Argo需要另一個港口
由于許多人正在編寫端點(diǎn)并且有多個站點(diǎn)在運(yùn)行,因此您可能需要將默認(rèn)端口8080更改為其他端口。 因此,最簡單,最直接的方法是將application.properties文件添加到src/main/resources 。
所有需要的是這樣的:
server.port = 8090十分簡單。 稱重錨并起航!
新兵訓(xùn)練營總結(jié)
因此,您可以看到使用Spring Boot進(jìn)行操作有多么容易。 我們不必在配置方面做很多事情就能真正著急地啟動和運(yùn)行。 我們避免了可怕的XML文件,只添加了一個小的屬性文件。 內(nèi)置的堆棧非常好。 對于那些希望為我們的閃亮前端提供端點(diǎn)的人,Jackson提供了一種易于使用的JSON轉(zhuǎn)換。
再次,Spring似乎找到了一種使開發(fā)人員的生活更簡單的方法。 該博客故意保持簡單。 我們的新靴子有許多不同的冒險途徑。 無論您是想利用微服務(wù),構(gòu)建傳統(tǒng)的整體架構(gòu),還是要面對其他麻煩,您都可以看到Spring Boot如何使您快速著手。
翻譯自: https://www.javacodegeeks.com/2017/01/spring-boot-right-boot.html
總結(jié)
以上是生活随笔為你收集整理的Spring Boot –适合您的靴子!的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 备案域名交易平台(已备案域名交易平台)
- 下一篇: pdf保存如何带批注_带有批注的Spri