計劃開個專欄,講解《Spring Boot 揭祕與實戰》系列。
原文地址:Spring Boot 揭祕與實戰(一) 快速上手
部落格地址:blog.720ui.com/
簡介
什麼是Spring Boot
Spring Boot其設計目的是用來簡化 Spring 應用的初始搭建以及開發過程。Spring Boot 的目標不在於為已解決的問題域提供新的解決方案,而是為平臺帶來另一種開發體驗,從而簡化對這些已有技術的使用。Spring Boot 充分利用了 JavaConfig 的配置模式以及“約定優於配置”的理念,能夠極大的簡化基於 Spring MVC 的 Web 應用和 REST 服務開發。對於已經熟悉 Spring 生態系統的開發人員來說,Spring Boot 是一個很理想的選擇。
為什麼選擇Spring Boot
- Spring Boot 使編碼變簡單
- Spring Boot 使配置變簡單
- Spring Boot 使部署變簡單
- Spring Boot 使監控變簡單
相關知識
Spring Boot的spring-boot-starter
Spring Boot提供了很多”開箱即用“的依賴模組,都是以spring-boot-starter-xx作為命名的。下面列舉一些常用的模組。
- spring-boot-starter-logging :使用 Spring Boot 預設的日誌框架 Logback。
- spring-boot-starter-log4j :新增 Log4j 的支援。
- spring-boot-starter-web :支援 Web 應用開發,包含 Tomcat 和 spring-mvc。
- spring-boot-starter-tomcat :使用 Spring Boot 預設的 Tomcat 作為應用伺服器。
- spring-boot-starter-jetty :使用 Jetty 而不是預設的 Tomcat 作為應用伺服器。
- spring-boot-starter-test :包含常用的測試所需的依賴,如 JUnit、Hamcrest、Mockito 和 spring-test 等。
- spring-boot-starter-aop :包含 spring-aop 和 AspectJ 來支援面向切面程式設計(AOP)。
- spring-boot-starter-security :包含 spring-security。
- spring-boot-starter-jdbc :支援使用 JDBC 訪問資料庫。
- spring-boot-starter-redis :支援使用 Redis。
- spring-boot-starter-data-mongodb :包含 spring-data-mongodb 來支援 MongoDB。
- spring-boot-starter-data-jpa :包含 spring-data-jpa、spring-orm 和 Hibernate 來支援 JPA。
- spring-boot-starter-amqp :通過 spring-rabbit 支援 AMQP。
- spring-boot-starter-actuator : 新增適用於生產環境的功能,如效能指標和監測等功能。
Java Config 自動配置
Spring Boot 推薦採用基於 Java Config 的配置方式,而不是傳統的 XML。例如,@Configuration、@Bean、@EnableAutoConfiguration、@CompomentScan、@PropertySource、@Repository、@Service、@RestController等。
快速上手
Spring Boot初體驗
通過 Spring Boot,建立新的 Spring 應用變得非常容易,只需要簡單的幾個步驟就可以建立出一個應用。
首先,我們先建立一個 POM 檔案。
<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>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.3.RELEASE</version>
</parent>
<groupId>com.lianggzone.demo</groupId>
<artifactId>springboot-action</artifactId>
<version>0.1</version>
<packaging>war</packaging>
<name>springboot-action</name>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>複製程式碼
然後,第二步,建立 Java 程式碼。
@SpringBootApplication
public class ApplicationDemo {
public static void main(String[] args) throws Exception {
System.out.println(" springApplication run !");
SpringApplication.run(ApplicationDemo.class, args);
}
}複製程式碼
快速搭建web工程
通過 Spring Boot,建立 web 工程也非常簡單。
修改 POM 檔案,新增依賴。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>複製程式碼
建立Java程式碼
@RestController
@EnableAutoConfiguration
public class RestfulApiWebDemo {
@RequestMapping("/")
String home() {
return "Hello World!";
}
public static void main(String[] args) throws Exception {
SpringApplication.run(RestfulApiWebDemo.class, args);
}
}複製程式碼
直接執行 Java 類,或者可以通過“mvn spring-boot:run”在命令列啟動該應用。會啟動一個內嵌的 Tomcat 伺服器執行在 8080 埠。訪問 http://localhost:8080 可以看到頁面上顯示“Hello World!”。
此外,在 POM 檔案新增外掛。
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>複製程式碼
在新增了外掛後,當執行“mvn package”進行打包時,會打包成一個可以直接執行的 JAR 檔案,使用“java -jar”命令就可以直接執行。
原始碼
相關示例完整程式碼: springboot-action
(完)
更多精彩文章,盡在「服務端思維」微信公眾號!