日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

【Spring-Boot】【入门 01】第一个 Spring Boot 程序

發布時間:2025/3/20 javascript 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【Spring-Boot】【入门 01】第一个 Spring Boot 程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

    • 一、SpringBoot入門
      • 1. SpringBoot簡介
      • 2.微服務
      • 3.Spring Boot 的基礎知識
      • 4.環境約束
      • 5.環境配置
        • maven設置
        • IDEA設置
    • 二、創建一個HelloWorld項目
      • 1.創建maven工程
      • 2.導入Spring Boot相關依賴
      • 3. 編寫一個主程序->啟動Spring Boot
      • 4. 編寫相關的Controller、Service
      • 5. 運行程序
      • 6. 簡化部署
      • 7.細節探究
        • 1.pom.xml文件
          • 1.父項目
          • 2.啟動器
          • 3. 主程序類、主入口類
            • @SpringBootApplication
            • @SpringBootConfiguration
            • **@EnableAutoConfiguration**
            • @Import({AutoConfigurationImportSelector.class})
      • 8. 使用Spring Initializer快速創建Spring Boot項目

一、SpringBoot入門

1. SpringBoot簡介

簡化Spring應用開發一個框架;

整個Spring技術棧的一個大整合

J2EE開發的一站式解決方案

2.微服務

2014,martin fowler

微服務:架構風格(服務微化)

一個應用應該是一組小型服務;可以通過HTTP的方式進行互通;

每一個功能元素最終都是一個可獨立替換和獨立升級的軟件單元,由點成網,可以精準對點的修改、刪除、添加

3.Spring Boot 的基礎知識

Spring框架的使用經驗

熟練使用Maven進行項目構建和依賴管理

熟練使用Eclipse或者IDEA

4.環境約束

-jdk1.8

-maven:maven 3.3.99

-IDEA2018

-Spring Boot 2.2.5

5.環境配置

spring-boot官方文檔:文檔地址

maven設置

在maven中的setting.xml配置文件的profiles標簽添加

<profile><id>jdk-1.8</id><activation><activeByDefault>true</activeByDefault><jdk>1.8</jdk></activation><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion></properties></profile>

IDEA設置

在 File-> settings ->搜索框中搜索“maven”->對以下三個變量進行修改

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-wdfXffXJ-1586584453439)(E:\Notes\SpringBoot\配置maven.png)]

二、創建一個HelloWorld項目

一個功能:瀏覽器發送hello請求,服務器接受請求并處理,相應Hello World字符串

1.創建maven工程

流程:project -> new project -> maven -> 設置自己的域名和項目名,我的域名是:com.ideal,項目名是:spring-boot-01-helloworld->選擇存儲的位置->點擊右下角的Enable Auto-Import(在pom.xml中寫入一些依賴,編譯器會自動導入相關依賴文件)

2.導入Spring Boot相關依賴

在pom.xml寫入一些依賴,以2.2.5的版本為例

<!--這是繼承一個父項目--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!--web依賴--><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>

3. 編寫一個主程序->啟動Spring Boot

/*** @ClassName: HelloWorldMainApplication* @description:這是一個主程序* @author: FFIDEAL* @Date: 2020/4/8 17:22*//* * 標注 @SpringBootApplication 來標注一個主程序類,說明這是一個Spring Boot應用 * */ @SpringBootApplication public class HelloWorldMainApplication {public static void main(String[] args) {//Spring應用啟動SpringApplication.run(HelloWorldMainApplication.class,args);} }

4. 編寫相關的Controller、Service

編寫Controller類,將瀏覽器的hello請求發送后返回一串hello world

/*這是一個請求類*/ @Controller public class HelloController {@ResponseBody /*把helloworld寫入瀏覽器*/@RequestMapping("/hello") /*這是一個接受瀏覽器hello請求*/public String hello(){return "Hello World";} }

5. 運行程序

http://localhost:8080/hello

6. 簡化部署

在pom.xml寫入一個依賴,這個插件可以將應用打包成一個可執行的jar包。

<!--這個插件可以將應用打包成一個可執行的jar包--><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build>

之后再Maven Projects中的Lifcycle保重的package包,這樣就可以到處jar包了

[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-2HVJbZ3G-1586584453441)(E:\Notes\SpringBoot\打包jar.png)]

之后在運行這個jar包,也完成了部署

7.細節探究

1.pom.xml文件

1.父項目
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!--上面代碼的父項目是以下代碼,真正管理SpringBoot的所有依賴版本--> <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-dependencies</artifactId><version>2.2.5.RELEASE</version><relativePath>../../spring-boot-dependencies</relativePath></parent> <!--在artifictId點進去就可以看到以下版本的限制--><properties><!--一些依賴版本的限制,包含了幾乎所有場景需要的依賴版本--><activemq.version>5.15.11</activemq.version><antlr2.version>2.7.7</antlr2.version><appengine-sdk.version>1.9.78</appengine-sdk.version><artemis.version>2.10.1</artemis.version><aspectj.version>1.9.5</aspectj.version><assertj.version>3.13.2</assertj.version><atomikos.version>4.0.6</atomikos.version><awaitility.version>4.0.2</awaitility.version>....</properties>

Spring Boot的版本仲裁中心:以后我們導入依賴默認是不需要寫版本的,但是沒有在其中的自然還是要寫版本的

2.啟動器
<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> </dependency> <!--點擊artifactId連接,發現其中又有一些它的父依賴-->

spring-boot-starter-web:spring-boot-start是spring-boot場景啟動器,幫我們導入了web模塊正常運行所依賴的組件

Spring Boot將所有功能場景都抽取出來了,做成一個個的starters(啟動器,相關啟動器地址),只需要在項目中導入這些starter相關場景的所有依賴都會導入進來。要什么功能就導入什么場景的啟動器(如郵件開發、web等等,都可以參照文檔)

3. 主程序類、主入口類
/*** @ClassName: HelloWorldMainApplication* @description:這是一個主程序* @author: FFIDEAL* @Date: 2020/4/8 17:22*//** 標注 @SpringBootApplication 來標注一個主程序類,說明這是一個Spring Boot應用 * */@SpringBootApplicationpublic class HelloWorldMainApplication {public static void main(String[] args) {//Spring應用啟動SpringApplication.run(HelloWorldMainApplication.class,args);}}
@SpringBootApplication

:Spring Boot應用標注在某個類上說明這個類是Spring Boot的主配置類,Spring Boot就應該運行這個類的main方法來啟動Spring Boot應用

//查看SpringBootApplication的底層,我們可以看到這樣一些注解 @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM,classes = {TypeExcludeFilter.class} ), @Filter(type = FilterType.CUSTOM,classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication {
@SpringBootConfiguration

? Spring Boot的配置類;標注在某個類上,表示這是一個Spring Boot的配置類

? @Configuration:配置類上來標注這個注解;

? 配置類 ----- 配置文件;配置類也是容器中的一個組件;@Component

@EnableAutoConfiguration

? 開啟自動配置功能;以前我們需要配置的東西,Spring Boot幫我們自動配置;@EnableAutoConfiguration告訴Spring Boot開啟自動配置功能;這樣自動配置才能生效;

//進入@EnableAutoConfiguration的底層,我們可以看到如下的注解 @AutoConfigurationPackage @Import({AutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration {

? @AutoConfigurationPackage:自動配置包

? @Import(AutoConfigurationPackage.Registrar.class):Spring的底層注解@import,給容器導入一個組件,導入的的組件由AutoConfigurationPackage.Registrar.class決定

? 將主配置類的(即@SpringBootApplication標注的類)的所在包及下面所有子包里面的所有組件掃描到Spring容器;

@Import({AutoConfigurationImportSelector.class})

? AutoConfigurationImportSelector:導入一些組件的選擇器;

? 將所有需要導入的組件以全類名的方式返回,這些組件會就會被添加到容器中;

? 會給容器中導入非常多的自動配置類(xxxAutoConfiguration);就是給容器中導入這個場景需要的所有組件,配置好這些組件

--------------可以學習Spring注解版,了解相關注解--------------------

8. 使用Spring Initializer快速創建Spring Boot項目

IDE都支持使用Spring的項目創建向導快速創建一個Spring-Boot項目,流程如下

選擇我們需要的模塊,向導會聯網創建Spring-Boot

默認生成的Spring Boot:

  • 主程序已經創建好了,我們只需要創建自己的邏輯

  • resource文件夾中目錄結構

    • static:保存所有的靜態資源;js|css|images;

    • templates:保存所有的模板頁面;Spring-Boot默認jar包使用嵌入式的Tomcat,默認不支持JSP頁面;可以使用模板引擎(freemarker、thymeleaf);

    • application.properties:Spring-Boot應用的配置文件,可以修改一些默認設置

      #重新設置端口號 server.port=8080

ng Boot:

  • 主程序已經創建好了,我們只需要創建自己的邏輯

  • resource文件夾中目錄結構

    • static:保存所有的靜態資源;js|css|images;

    • templates:保存所有的模板頁面;Spring-Boot默認jar包使用嵌入式的Tomcat,默認不支持JSP頁面;可以使用模板引擎(freemarker、thymeleaf);

    • application.properties:Spring-Boot應用的配置文件,可以修改一些默認設置

      #重新設置端口號 server.port=8080
《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的【Spring-Boot】【入门 01】第一个 Spring Boot 程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。