javascript
SpringBoot:SpringBoot简介
SpringBoot ...如今,有關SpringBoot的話題很多。 那么,SpringBoot是什么?
SpringBoot是一個新的Spring產品組合項目,它通過大幅度減少所需的配置量來構建可立即投入生產的Spring應用程序。 Spring Boot通過基于運行時可用的類路徑庫自動注冊默認配置,將配置樣式的約定提升到了新的水平 。
嗯..您可能已經在許多博客上閱讀了有關SpringBoot的介紹。 因此,讓我詳細說明什么是SpringBoot以及它如何幫助更快地開發Spring應用程序。
當許多Java開發人員為構建企業應用程序而使用EJB 1.x / 2.x時,Rod Johnson創建了Spring框架。 通過使用依賴注入和面向方面的編程概念,Spring框架使開發業務組件變得容易。 Spring變得非常流行,更多的Spring模塊(如SpringSecurity,Spring Batch,Spring Data等)成為Spring產品組合的一部分。 隨著越來越多的功能添加到Spring中,配置所有spring模塊及其依賴項變得繁瑣。 除此之外,Spring還提供了至少3種方法! 有些人將其視為靈活性,而另一些人則將其視為混亂。
慢慢地,配置所有Spring模塊以使其協同工作成為一個巨大的挑戰。 Spring團隊提出了許多方法,通過引入Spring XML DSL,Annotations和JavaConfig來減少所需的配置量。
在開始的時候,我記得在本節和許多聲明中配置了大量的jar版本聲明。 然后,我學習了如何使用基本結構和最低要求的配置來創建Maven原型。 這減少了很多重復工作,但沒有完全消除。
無論您是手動編寫配置還是通過一些自動化方式生成配置,如果都可以看到代碼,則必須對其進行維護。
因此,無論您使用XML還是Annotations還是JavaConfig,您仍然都需要再配置一次(復制粘貼)相同的基礎結構設置。
另一方面,J2EE(很久以前就死了)作為JavaEE出現,并且自JavaEE6以來(與J2EE和JavaEE5相比)使用JavaEE平臺開發企業應用程序變得很容易。
JavaEE7發行時還帶有所有出色的CDI,WebSocket,批處理,JSON支持等,這些功能也變得更加簡單和強大。 使用JavaEE,您不需要太多的XML配置,并且war文件的大小將以KB為單位(對于非helloworld / non-stageshow應用程序,這真的是???!) 當然,這種“配置之上的約定”和“您無需將API粘合到appServer上就已經做到了”的論點成為JavaEE在Spring上的主要賣點。 然后,Spring團隊使用SpringBoot解決了這個問題! 現在是時候到JavaEE展示SpringBoot在JavaEE中的對應版本了,JBoss Forge呢? 我喜歡Spring vs JavaEE這件事,它催生了功能強大的工具,這些工具最終簡化了開發人員的工作!
很多時候,我們需要使用相同的庫進行類似的基礎架構設置。 例如,以一個Web應用程序為例,您將DispatcherServlet url-pattern映射到“ /”,使用帶有Spring Data JPA后端的Jackson JSON庫來實現RESTFul Web服務。 同樣,可能存在需要類似基礎結構配置的批處理或Spring集成應用程序。
SpringBoot進行了救援 。 SpringBoot查看可用于運行時類路徑的jar文件,并使用明智的默認值為您注冊Bean,這些默認值可以用顯式設置覆蓋。 而且, SpringBoot僅在jar文件可用并且您沒有定義任何此類bean時才配置這些bean 。 總的來說,SpringBoot提供了通用的基礎結構,而無需任何顯式配置,但是允許開發人員在需要時覆蓋。
為了使事情變得更簡單,SpringBoot團隊提供了許多入門項目,這些項目已預先配置了常用的依賴項。 例如,Spring Data JPA入門項目隨附了具有Hibernate實現的JPA 2.x以及Spring Data JPA基礎結構設置。 Spring Web Starter附帶有Spring WebMVC,嵌入式Tomcat,Jackson JSON和Logback設置。
Aaah ..足夠的理論..let進入了編碼。
我正在使用最新的STS-3.5.1 IDE,它提供了比其早期版本更多的入門項目選項,例如Facebbok,Twitter,Solr等。
通過轉到文件->新建-> Spring Starter項目 ->選擇Web和Actuator創建一個SpringBoot啟動程序項目,并提供其他必需的詳細信息和完成。
這將使用以下pom.xml和Application.java創建一個Spring Starter Web項目。
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.sivalabs</groupId><artifactId>hello-springboot</artifactId><version>1.0-SNAPSHOT</version><packaging>jar</packaging><name>hello-springboot</name><description>Spring Boot Hello World</description><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.1.3.RELEASE</version><relativePath/></parent><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency> </dependencies><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><start-class>com.sivalabs.springboot.Application</start-class><java.version>1.7</java.version></properties><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>package com.sivalabs.springboot;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration;@Configuration @ComponentScan @EnableAutoConfiguration public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} }繼續并將該類作為獨立的Java類運行。 它將在8080端口上啟動嵌入式Tomcat服務器。 但是我們尚未添加任何要訪問的端點,讓我們繼續并添加一個簡單的REST端點。
@Configuration @ComponentScan @EnableAutoConfiguration @Controller public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} @RequestMapping(value="/")@ResponseBodypublic String bootup(){return "SpringBoot is up and running";} }現在將瀏覽器指向http:// localhost:8080 / ,您應該看到響應“ SpringBoot已啟動并正在運行”。
請記住,在創建項目時,我們還添加了Actuator啟動器模塊。 使用Actuator,您可以獲得有關您的應用程序的許多有趣的事實。
嘗試訪問以下URL,您會看到SpringBoot提供的許多運行時環境配置。
- http:// localhost:8080 / beans
- http:// localhost:8080 / metrics
- http:// localhost:8080 / trace
- http:// localhost:8080 / env
- http:// localhost:8080 / mappings
- http:// localhost:8080 / autoconfig
- http:// localhost:8080 / dump
SpringBoot執行器值得一個專門的博客文章來介紹其眾多功能,我將在以后的文章中介紹它。
我希望本文提供有關SpringBoot的一些基本介紹,以及它如何簡化Spring應用程序的開發。
有關SpringBoot的更多信息,請參見即將發表的文章 。
翻譯自: https://www.javacodegeeks.com/2014/07/springboot-introducing-springboot.html
總結
以上是生活随笔為你收集整理的SpringBoot:SpringBoot简介的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (linux crontab)
- 下一篇: 带有Angular JS的Java EE