javascript
Spring Boot –适合您的靴子!
您需要一點彈簧嗎? 厭倦了所有繁瑣的Web服務器并部署WAR文件? 好吧,你很幸運。 Spring Boot對構建可用于生產的Spring應用程序持堅定態度。 Spring Boot傾向于使用約定而非配置,它旨在使您盡快啟動并運行。
在此博客中,我將引導您逐步完成如何使Spring Boot在您的計算機上運行的過程。
只是穿上并系好鞋帶……
Spring Boot使創建“ Spring”的獨立,生產級基于Spring的應用程序變得容易。 由于它從Spring平臺和第三方庫的觀點出發,因此您可以大驚小怪地開始工作。 大多數Spring Boot應用程序只需要很少的Spring配置。
這些靴子是為走路準備的……也許正在跑步
因此,Spring Boot的最大優點是能夠在極短的時間內啟動并運行。 您不必為此安裝Web服務器,例如JBoss,Websphere甚至是Tomcat。 您需要做的就是拉入適當的庫,進行批注并解雇。 如果您打算做很多Spring Boot項目,我強烈建議您使用可用的Spring Tool Suite。 它具有一些使Boot項目真正易于管理的強大功能。
您當然可以在Maven或Gradle之間進行選擇,以管理依賴關系和構建。 我的示例將在Maven中進行,因為這是我所熟悉的。 這與您的配置首選項有關。
多種風格可供選擇
使Spring Boot出色的原因之一是,它可以與其他Spring產品一起很好地工作。 哇,去圖嗎? 您可以使用Spring MVC,Jetty或Thymeleaf,只需將它們添加到依賴項中,然后Spring Boot自動將它們添加到其中。
天天穿靴子
Spring Boot希望為您簡化事情。 您可以用它來做很多事情。 以下是一些要點。
- 通過Spring Boot,您可以將應用程序打包為獨立的JAR文件,并嵌入完整的Tomcat服務器
- Spring Boot使您仍然可以將應用程序打包為WAR。
- 配置基于類路徑中的內容(路徑中的MySQL DB,它將為您設置)
- 它具有默認設置(因此您不必配置它們)
- 通過添加到類路徑可以輕松覆蓋(添加H2依賴關系并將其切換)
- 讓我們的新開發者著急學習繩索,并在以后學習更多時進行更改。
嬰兒靴
但是請記住,該博客的目的只是讓您熟悉如何在計算機上運行Spring Boot。 這將非常簡單明了。 目標是讓您入門。 我們不打算在此處編寫新的Uber應用程序或其他代碼。 寶貝踩鄉親! 我們只是想讓您的腳溫暖。 我們都知道那些教程會向我們扔很多東西,只是掩蓋一切。 不在這里。
因此,入門最簡單的方法是從Spring本身中提取教程代碼。 這是一個很好的入門點。 無需將整個Spring庫交給您就可以查看正在發生的事情,這對您來說是個好習慣。
克隆靴子…注意目標!
首先,讓我們克隆在此處找到的Spring示例。
git clone https://github.com/spring-guides/gs-spring-boot.git我們不會進入在IDE中進行設置的步驟,因為每個人都有自己的偏好。
施工靴
讓我們分解一下。 這些注釋是關于什么的?
@SpringBootApplication是一個方便注釋,它添加了以下所有內容:
- @Configuration將類標記為應用程序上下文的Bean定義的源。
- @EnableAutoConfiguration告訴Spring Boot根據類路徑設置,其他bean和各種屬性設置開始添加bean。
- 通常,您將為Spring MVC應用程序添加@EnableWebMvc ,但是當Spring Boot在類路徑上看到spring-webmvc時,它將自動添加它。 這會將應用程序標記為Web應用程序,并激活諸如設置DispatcherServlet類的關鍵行為。
- @ComponentScan告訴Spring在hello包中尋找其他組件,配置和服務,從而允許它找到控制器。
哇,我一直在尋找新房時喜歡優質的內裝! 但是這些閃亮的新物品背后究竟發生了什么?
main()方法調用Spring Boot的SpringApplication.run()方法來啟動。
我們是否提到(或您注意到)您不必弄亂XML? 多么可觀的獎金! 沒有更多的web.xml文件廢話了。 不再想知道我是否在文件中放置了正確的標簽,并且想知道那條無法讀取的錯誤消息告訴您什么不再是什么問題了。 這是100%純Java。 無需配置或管道。 他們為您做了。 他們真好!
設置好并準備開始編輯后,讓我們快速看一下Application.java文件。 在這里,您將找到可運行的main類。 它具有@SpringBootApplication的注釋。 這是使該應用程序成為啟動應用程序的關鍵注釋。
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);}};}}現在運行它! 如果您使用的是STS套件(并已正確構建),則將在啟動儀表板中看到它。 對于其他所有人,請在IDE中右鍵單擊并以“ Run As => Java Application”運行,或轉到您喜歡的命令行工具。 使用以下命令。
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輸出將顯示嵌入式服務器的正常Spring啟動,然后它將遍歷所有bean并為您寫出來!
你做到了! 您系好第一雙Spring Boot。
展示靴子
為了進行銷售或只是吸引眼球,此示例拋出了標有@Bean的CommandLineRunner方法,該方法在啟動時運行。 它檢索由您的應用程序創建或由于Spring Boot而自動添加的所有bean。 它對它們進行排序并打印出來。 您可以放入其他啟動信息,也可以做其他一些工作。
在線引導
在購買合適的靴子時,我們希望能搭配我們最喜歡的牛仔褲或女士的漂亮裙子搭配漂亮的裙子,對嗎? Well Boot提供了一種簡單的方法來將您的靴子推向世界,供其他人查看。 好吧,我們需要雇用一個Controller來做到這一點。 多么方便:我們下載的Spring代碼已經為我們準備好了。
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控制器在等待,監視,監聽應用程序對其的調用。
@RequestMapping是調用特定方法的URL名稱。 因此,在給定示例的情況下,它是應用程序的“索引”。 這里的示例只是返回文本。 這是很酷的事情; 我們可以在這里退回幾乎所有您想退回的東西。
JSON在Argo上有不錯的靴子嗎?
最后,我認為大多數Spring Boot冒險者現在正在做的就是將其用作其應用程序的端點。 關于如何完成此操作,有很多不同的選擇。 通過JSON提供的數據或XML解決方案。 我們現在只關注一個。 Jackson是一個很好的輕量級工具,用于完成對調用場景的JSON輸出。
默認情況下,在Spring Boot的類路徑中可以方便地找到Jackson。 自己檢查一下:
mvn dependency:tree`要么
./gradlew dependencies讓我們已經為這些靴子添加了一些贊譽吧! 在源代碼中的任何位置添加一個新類。 只是一個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;}}現在,回到你的 控制器并將其粘貼到:
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));}現在重新啟動您的啟動應用程序。 返回瀏覽器,而不是/轉到hello-world 。 您應該會看到一些很棒的JSON輸出。 如果您這樣做了,那么您就可以在Spring Boot和Jackson中創建端點了。
Argo需要另一個港口
由于許多人正在編寫端點并且有多個站點在運行,因此您可能需要將默認端口8080更改為其他端口。 因此,最簡單,最直接的方法是將application.properties文件添加到src/main/resources 。
所有需要的是這樣的:
server.port = 8090十分簡單。 稱重錨并起航!
新兵訓練營總結
因此,您可以看到使用Spring Boot進行操作有多么容易。 我們不必在配置方面做很多事情就能真正著急地啟動和運行。 我們避免了可怕的XML文件,只添加了一個小的屬性文件。 內置的堆棧非常好。 對于那些希望為我們的閃亮前端提供端點的人,Jackson提供了一種易于使用的JSON轉換。
再次,Spring似乎找到了一種使開發人員的生活更簡單的方法。 該博客故意保持簡單。 我們的新靴子有許多不同的冒險途徑。 無論您是想利用微服務,構建傳統的整體架構,還是要面對其他麻煩,您都可以看到Spring Boot如何使您快速著手。
翻譯自: https://www.javacodegeeks.com/2017/01/spring-boot-right-boot.html
總結
以上是生活随笔為你收集整理的Spring Boot –适合您的靴子!的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 备案域名交易平台(已备案域名交易平台)
- 下一篇: java web ee_Java EE