Spring Boot快速搭建Spring框架教程
Spring是一個(gè)開(kāi)源框架,Spring是于2003 年興起的一個(gè)輕量級(jí)的Java 開(kāi)發(fā)框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中闡述的部分理念和原型衍生而來(lái)。
它是為了解決企業(yè)應(yīng)用開(kāi)發(fā)的復(fù)雜性而創(chuàng)建的??蚣艿闹饕獌?yōu)勢(shì)之一就是其分層架構(gòu),分層架構(gòu)允許使用者選擇使用哪一個(gè)組件,同時(shí)為 J2EE 應(yīng)用程序開(kāi)發(fā)提供集成的框架。Spring使用基本的JavaBean來(lái)完成以前只可能由EJB完成的事情。
然而,Spring的用途不僅限于服務(wù)器端的開(kāi)發(fā)。從簡(jiǎn)單性、可測(cè)試性和松耦合的角度而言,任何Java應(yīng)用都可以從Spring中受益。Spring的核心是控制反轉(zhuǎn)(IoC)和面向切面(AOP)。簡(jiǎn)單來(lái)說(shuō),Spring是一個(gè)分層的JavaSE/EEfull-stack(一站式) 輕量級(jí)開(kāi)源框架。
Spring Boot 是 Spring 框架的一個(gè)新的子項(xiàng)目,用于創(chuàng)建 Spring 4.0 項(xiàng)目。它的開(kāi)發(fā)始于 2013 年。2014 年 4 月發(fā)布 1.0.0 版本。它可以自動(dòng)配置 Spring 的各種組件,并不依賴(lài)代碼生成和 XML 配置文件。Spring Boot 也提供了對(duì)于常見(jiàn)場(chǎng)景的推薦組件配置。Spring Boot 可以大大提升使用 Spring 框架時(shí)的開(kāi)發(fā)效率。下面本文將對(duì) Spring Boot 進(jìn)行詳細(xì)的介紹。
Spring Boot 包含的特性如下:
1、創(chuàng)建可以獨(dú)立運(yùn)行的 Spring 應(yīng)用。
2、直接嵌入 Tomcat 或 Jetty 服務(wù)器,不需要部署 WAR 文件。
3、提供推薦的基礎(chǔ) POM 文件來(lái)簡(jiǎn)化 Apache Maven 配置。
4、盡可能的根據(jù)項(xiàng)目依賴(lài)來(lái)自動(dòng)配置 Spring 框架。
5、提供可以直接在生產(chǎn)環(huán)境中使用的功能,如性能指標(biāo)、應(yīng)用信息和應(yīng)用健康檢查。
6、沒(méi)有代碼生成,也沒(méi)有 XML 配置文件。
新建Maven功能,將下面代碼直接復(fù)制到pom.xml中:
<?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.example</groupId> <artifactId>SpringBootSimple</artifactId> <version>1.0-SNAPSHOT</version> <properties> <spring.boot.version>1.1.4.RELEASE</spring.boot.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>${spring.boot.version}</version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${spring.boot.version}</version> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>
從上面pom.xml文件中可以看到應(yīng)用所聲明的依賴(lài)很少,只有一個(gè)“org.springframework.boot:spring-boot-starter-web”,而不是像其他 Spring 項(xiàng)目一樣需要聲明很多的依賴(lài)。
當(dāng)使用 Maven 命令“mvn dependency:tree”來(lái)查看項(xiàng)目實(shí)際的依賴(lài)時(shí),會(huì)發(fā)現(xiàn)其中包含了 Spring MVC 框架、SLF4J、Jackson、Hibernate Validator 和 Tomcat 等依賴(lài)。這實(shí)際上 Spring 推薦的 Web 應(yīng)用中使用的開(kāi)源庫(kù)的組合。
調(diào)用Spring Boot應(yīng)用Java代碼,具體如下:
import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; @RestController @EnableAutoConfiguration public class Application { @RequestMapping("/") String index() { return "www.yoodb.com"; } public static void main(String[] args) throws Exception { SpringApplication.run(Application.class, args); } }
Application.java類(lèi)是一個(gè)簡(jiǎn)單的可以獨(dú)立運(yùn)行的 Web 應(yīng)用。直接運(yùn)行該 Java 類(lèi)會(huì)啟動(dòng)一個(gè)內(nèi)嵌的 Tomcat 服務(wù)器運(yùn)行在 8080 端口。訪(fǎng)問(wèn)“http://localhost:8080”可以看到頁(yè)面上顯示“www.yoodb.com”.只需要簡(jiǎn)單的2個(gè)文件就可以啟動(dòng)一個(gè)獨(dú)立運(yùn)行的 Web 應(yīng)用。并不需要額外安裝 Tomcat類(lèi)似的應(yīng)用服務(wù)器,也不需要打包成WAR文件。可以通過(guò)“mvn spring-boot:run”在命令行啟動(dòng)該應(yīng)用。
在pom.xml文件中添加了“org.springframework.boot:spring-boot-maven-plugin”插件。在添加了該插件之后,當(dāng)運(yùn)行“mvn package”進(jìn)行打包時(shí),會(huì)打包成一個(gè)可以直接運(yùn)行的 JAR 文件,使用“java -jar”命令就可以直接運(yùn)行。很大程度上簡(jiǎn)化了應(yīng)用的部署,只需要安裝了 JRE 就可以運(yùn)行。
"@EnableAutoConfiguration”注解的作用在于讓 Spring Boot 根據(jù)應(yīng)用所聲明的依賴(lài)來(lái)對(duì)Spring框架進(jìn)行自動(dòng)配置,減少了開(kāi)發(fā)人員的工作量。注解“@RestController”和"@RequestMapping”由Spring MVC 提供,用來(lái)創(chuàng)建REST服務(wù)。這兩個(gè)注解和 Spring Boot 本身并沒(méi)有關(guān)系的。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot實(shí)現(xiàn)多端口監(jiān)聽(tīng)的代碼示例
當(dāng)你需要在同一個(gè)Spring Boot應(yīng)用中,通過(guò)不同的端口來(lái)提供不同的服務(wù)或功能時(shí),就需要實(shí)現(xiàn)多端口監(jiān)聽(tīng),所以本文給大家介紹了SpringBoot實(shí)現(xiàn)多端口監(jiān)聽(tīng)的方法示例,并有相關(guān)的代碼示例供大家參考,需要的朋友可以參考下2024-09-09Java 8 動(dòng)態(tài)類(lèi)型語(yǔ)言L(fǎng)ambda表達(dá)式實(shí)現(xiàn)原理解析
Java 8支持動(dòng)態(tài)語(yǔ)言,看到了很酷的Lambda表達(dá)式,對(duì)一直以靜態(tài)類(lèi)型語(yǔ)言自居的Java,讓人看到了Java虛擬機(jī)可以支持動(dòng)態(tài)語(yǔ)言的目標(biāo)。接下來(lái)通過(guò)本文給大家介紹Java 8 動(dòng)態(tài)類(lèi)型語(yǔ)言L(fǎng)ambda表達(dá)式實(shí)現(xiàn)原理分析,需要的朋友可以參考下2017-02-02SpringBoot和Vue.js實(shí)現(xiàn)的前后端分離的用戶(hù)權(quán)限管理系統(tǒng)
本文主要介紹了SpringBoot和Vue.js實(shí)現(xiàn)的前后端分離的用戶(hù)權(quán)限管理系統(tǒng),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-04-04Java 實(shí)戰(zhàn)項(xiàng)目錘煉之校園宿舍管理系統(tǒng)的實(shí)現(xiàn)流程
讀萬(wàn)卷書(shū)不如行萬(wàn)里路,只學(xué)書(shū)上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實(shí)戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用java+jsp+javaweb+mysql+ajax實(shí)現(xiàn)一個(gè)校園宿舍管理系統(tǒng),大家可以在過(guò)程中查缺補(bǔ)漏,提升水平2021-11-11詳解Nacos中注冊(cè)中心和配置中心的實(shí)現(xiàn)
Spring?Cloud?Alibaba?是阿里巴巴提供的一站式微服務(wù)開(kāi)發(fā)解決方案。而?Nacos?作為?Spring?Cloud?Alibaba?的核心組件之一,提供了兩個(gè)非常重要的功能:注冊(cè)中心和配置中心,我們今天來(lái)了解和實(shí)現(xiàn)一下二者2022-08-08Java中關(guān)于二叉樹(shù)的概念以及搜索二叉樹(shù)詳解
二叉樹(shù)是一種很有用的非線(xiàn)性結(jié)構(gòu),日常的開(kāi)發(fā)中常會(huì)用到,關(guān)于二叉樹(shù)的概念以及搜索二叉樹(shù)本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Java并發(fā)工具類(lèi)Exchanger的相關(guān)知識(shí)總結(jié)
今天給大家?guī)?lái)的文章是Java工具類(lèi)Exchanger的相關(guān)知識(shí)總結(jié),文中有非常詳細(xì)的介紹及代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們很有幫助,需要的朋友可以參考下2021-06-06