SpringBoot 之環境搭建


見: ?http://bbs.itmayiedu.com/article/1491835651684


1.?什么是**SpringBoot**

Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot 致力于在蓬勃發展的快速應用開發領域(rapid
application development)成為領導者。–摘自百度百科

2.?為什么現在用**SpringBoot**

1. 創建獨立的 Spring 應用程序

2. 嵌入的 Tomcat,無需部署 WAR 文件

3. 簡化 Maven 配置

4. 自動配置 Spring

5. 提供生產就緒型功能,如指標,健康檢查和外部配置

6.開箱即用,沒有代碼生成,也無需 XML 配置。

3.?Spring Boot**特性理解?**

1.為基于 Spring 的開發提供更快的入門體驗

2.開箱即用,沒有代碼生成,也無需 XML 配置。同時也可以修改默認值來滿足特定的需求。

3.提供了一些大型項目中常見的非功能特性,如嵌入式服務器、安全、指標,健康檢測、外部配置等。

4.Spring Boot 并不是對 Spring 功能上的增強,而是提供了一種快速使用 Spring 的方式。

4.?SpringBoot**環境搭建?**

學習一個東西的第一步是要學會如何迅速搭建起來一個可用的環境,也就是 demo.這里我選擇的開發環境是 Eclipse,

Maven + Spring Web 項目結構在 Eclipse 下面的實現

我們在這里所要實現的關鍵就是如何保證 Maven 規定的目錄結構。 這里對于 Maven 的目錄結構做一個簡單的說明:
src/main /Java?src/main/resources

第一步:在 Eclipse 下面配置 Maven 環境: 略

第二步: 構建 Maven+spring?web 項目?:
1.打開 Eclipse,選擇新建 Maven Project,

2.然后利用向導分別建立一個 webapp 項目和 quickStart 項目


在新建的過程中會要設置要設置幾個東西 groupId = cn.springbooot artifactId =SpringBootFrist ,剩下的設置就用默認的就可以了。

3.然后是將 webapp 項目下面的 WebApp 目錄復制到 quickstart 項目之中,最后在在 SpringBootFirst 工程下面新建一個 src/main/resources 目錄來配合 Maven 的目錄結構。這樣最后形成的 SpringBootFirst 工程就已經基本實現了整體的框架。


Spring boot 實現簡單的 RestFul 項目

在 Spring 的官網中有關于 SpringBoot 的介紹?http://projects.spring.io/spring-boot/?。
在 Spring Boot 中為了簡化在 Spring 開發中所需要的繁雜的配置文件的處理,對于這些配置進行了輕量級封裝。我們在使用 Spring Boot 進行開發的時候,需要關注很少的配置方面的問題,從而更多精力在業務邏輯上面。

第一步: pom.xml 配置文件的設置
Boot 提供了許多的“starter”模塊,它們定義了一組依賴,這些依賴能夠添加到構建系統之中,從而解析框架及其父平臺所需的特定類庫。例如,spring-boot-starter-actuator 依賴會引入一組基本的 Spring 項目,從而實現應用的快速配置和即時可用。關于這種依賴,值得強調的一點就是當開發 Web 應用,尤其是 RESTful Web 服務的時候,如果包含了 spring-boot-starter-web 依賴,它就會為你提供啟動嵌入式Tomcat 容器的自動化配置,并且提供對微服務應用有價值的端點信息,如服務器信息、應用指標(metrics)以及環境詳情。除此之外,如果引入 spring-boot-starter-security 模塊的話,actuator 會自動配置 Spring Security,從而為應用提供基本的認證以及其他高級的安全特性。它還會為應用結構引入一個內部的審計框架,這個框架可以用來生成報告或其他的用途,比如開發認證失敗的鎖定策略。

<parent>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-parent</artifactId>  <version>1.3.3.RELEASE</version>  </parent>  <dependencies>  <dependency>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-starter-web</artifactId>  </dependency>  </dependencies>  <build>  <plugins>  <plugin>  <groupId>org.springframework.boot</groupId>  <artifactId>spring-boot-maven-plugin </artifactId>  </plugin>  </plugins>  </build>  

上面這個是實現 Spring Boot 中 web 服務最基本的配置,寫在 pom.xml 中就可以了。

第二步:編寫 Java 代碼
首先我將 Spring Boot 官方所給的代碼例子貼在下面,以此說明,在 Spring Boot 的項目運行,部署和發布,我們需要的東西不是很多。

package hello;import org.springframework.boot.*;
import org.springframework.boot.autoconfigure.*;
import org.springframework.stereotype.*;
import org.springframework.web.bind.annotation.*;@RestController
@EnableAutoConfiguration
public class SampleController {@RequestMapping("/")@ResponseBodyString home() {return "Hello World!";}public static void main(String[] args) throws Exception {SpringApplication.run(SampleController.class, args);}
}

將上述的代碼放入 SpringBootFirst 工程的 src/main/java 目錄下面,進行運行,再在瀏覽器中輸入http://localhost:8080/?,我們就能看到“Hello,World”了。

在 Spring 官網GUIDES?目錄下有很多的小 demo,用非常簡潔精煉的例子來進行說明某些特性。這里以其中的第一個項目也就是 Building a RESTful Web Service 項目來進行說明,我們只需要將源碼下載下來,再把 src/main/java 中的代碼復制到 SpringBootFirst 項目的 src/main/java 目錄下面就可以了。


偷懶的快速構建 Spring Boot 方法

在 Spring 官網中http://spring.io/guides/gs/sts/有這么一個東西,我們在 Eclipse 中可以進行配置。然后就可以使用官網中介紹的方法快速導入一個項目進行學習。


本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/450740.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/450740.shtml
英文地址,請注明出處:http://en.pswp.cn/news/450740.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

十五、類與封裝的概念

1、類的封裝 C中類的封裝&#xff1a; 成員變量&#xff1a;C中用于表示類屬性的變量成員函數&#xff1a;C中用于表示類行為的函數 C中可以給成員變量和成員函數定義訪問級別 public&#xff1a;成員變量和成員函數可以在類的內部和外界訪問和調用 private&#xff1a;成員變量…

哪些人不能要 哪些人不能留

以下所有的論斷都是基于中小型實業公司而言&#xff0c;因為我任職過的公司都是這個類型的。招聘時這些人不能要&#xff1a;1&#xff09;頻繁跳槽的人。這些人要么對工作不用心&#xff0c;要么對環境的適應能力差&#xff0c;要么不愿去分析公司的長處和短處&#xff0c;要么…

vue項目中axios的封裝

1.安裝 1 npm install axios --save 2.新建http.js&#xff0c;封裝攔截器以及多種請求方式 1 import axios from axios;2 import { Message } from element-ui;3 4 // 請求攔截器5 axios.interceptors.request.use( 6 config > {7 //發送請求前需要做什么&#xff0c…

【2022】Java基礎面試真題

文章目錄1. Java基礎1.1 為什么Java代碼可以實現一次編寫、到處運行&#xff1f;1.2 一個Java文件里可以有多個類嗎&#xff08;不含內部類&#xff09;&#xff1f;1.3 說一說你對Java訪問權限的了解1.4 介紹一下Java的數據類型1.5 int類型的數據范圍是多少&#xff1f;1.6 請…

關于 Virtual SAN/VSAN 的常見問題解答

問&#xff1a;VSAN需要使用 SSD&#xff0c;它有什么用途呢&#xff1f; 答&#xff1a;SSD 用于讀取緩存 (70%) 和寫入緩沖 (30%)。每次寫入都會先轉到 SSD&#xff0c;稍后再取消暫存到 HDD。 ? 問&#xff1a;創建 VSAN 虛擬機存儲策略時&#xff0c;何時應使用“允許的故…

IntelliJ IDEA 中 右鍵新建時,選項沒有Java class的解決方法和具體解釋

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 我是在別人問我的時候&#xff0c;才發現還可以有這個問題&#xff0c;主要是他新項目直接打開&#xff0c;什么都沒配置&#xff0c;就打…

設計模式大集錦 程序員面試全攻略

摘要&#xff1a;無論你是參與Java面試還是C#面試&#xff0c;設計模式和軟件設計問題在程序員面試中是必不可少的一部分。編程和設計技兩者相得益彰&#xff0c;一名出色的程序員也是一名出色的設計師&#xff0c;他們懂得如何利用代碼來解決問題或者軟件設計&#xff0c;但是…

NOIP2018劃水記

Day -INF&#xff1a; 提前兩周左右停的課吧&#xff0c;每天過著正常的機房生活&#xff0c;每天充滿了歡樂。中間夾著籃球賽&#xff0c;qmcp大展神威&#xff08;%%%&#xff09;&#xff0c;MVP當之無愧&#xff0c;我跟著我們班一群菜雞劃水水出了季軍&#xff08;汗&…

多線程鎖,線程池,消費者生產者模型

鎖是怎么存在的? 在python建立之初,開發者目的是為了快速把語言開發出來,如果加上GIL(c語言加鎖),切換時按照100條字節指令來進行線程間的切換 為什么加鎖? 非線程安全,控制一段代碼 1.lock threading.BoundedSemaphore一次可以限制關卡,限制通行次數,不過這個是寫死的 1 im…

【2022】多線程并發編程面試真題

文章目錄4. 多線程4.1 創建線程有哪幾種方式&#xff1f;4.2 說說Thread類的常用方法4.3 run()和start()有什么區別&#xff1f;4.4 線程是否可以重復啟動&#xff0c;會有什么后果&#xff1f;4.5 介紹一下線程的生命周期4.6 如何實現線程同步&#xff1f;4.7 說一說Java多線程…

蘋果面試8大難題及答案

摘要&#xff1a;蘋果這樣的公司通常會在面試過程中向求職者拋出一些邏輯的問題來考研面試者&#xff0c;所以&#xff0c;如果你對進入蘋果感興趣&#xff0c;或者向往類似的公司&#xff0c;又或者只是對邏輯問題感興趣&#xff0c;這些面試難題值得你仔細研究。 導讀&#x…

idea自動導入jar包的快捷鍵

前些天發現了一個巨牛的人工智能學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到教程。 見&#xff1a;http://blog.csdn.net/u014771464/article/details/52330254 altenter&#xff08;光標緊跟在類的后面&#xff09;

ROS系統玩轉自主移動機器人(3)-- 開源機器人結構介紹

ROS系統玩轉自主移動機器人&#xff08;3&#xff09;-- 開源機器人結構介紹 本機器人機械結構設計相關的所有設計文件下載地址為&#xff1a;傳送門 其中包含&#xff1a;三維造型設計文件&#xff08;所有零件裝配效果&#xff09;&#xff08;tips&#xff1a;基于Solidwork…

【2022】JVM常見面試真題詳解

文章目錄5. JVM5.1 JVM包含哪幾部分&#xff1f;5.2 JVM是如何運行的&#xff1f;5.3 Java程序是怎么運行的&#xff1f;5.4 本地方法棧有什么用&#xff1f;5.5 沒有程序計數器會怎么樣&#xff1f;5.6 說一說Java的內存分布情況5.7 類存放在哪里&#xff1f;5.8 局部變量存放…

Linux 基本操作--文件查看 (day3)

一、查看文件-----cat (詳情參考:http://blog.sina.com.cn/s/blog_52f6ead0010127xm.html) 語法結構: cat 查看方式 文件 cat -A : show all 顯示所有內容,相當于-vET [rootlocalhost tmp]# cat -A /etc/profile #注釋:查看/erx/目錄下profile文件的內容 cat -b  :對非空…

如何在面試時寫出高質量的代碼

摘要&#xff1a;有些程序員由于平時沒有養成良好的編程習慣&#xff0c;在面試時寫出的代碼質量不高&#xff0c;最終遺憾地與心儀的公司和職位失之交臂。如何在面試時能寫出高質量的代碼&#xff0c;是很多程序員關心的問題。 程序員在職業生涯中難免要接受編程面試。有些程序…

IntelliJ IDEA添加jar包

見&#xff1a;http://blog.csdn.net/a153375250/article/details/50851049 以JDBC-MySQL驅動包為例 1、在IntelliJ IDEA中打開要添加jar包的Project 2、File – Project Structure如下圖 3、選擇Moudules – 再選擇Dependencies如下圖 4、選中Moudule source – 然后點擊2處號…

Python3 與 C# 并發編程之~ 進程篇

上次說了很多Linux下進程相關知識&#xff0c;這邊不再復述&#xff0c;下面來說說Python的并發編程&#xff0c;如有錯誤歡迎提出&#xff5e; 如果遇到聽不懂的可以看上一次的文章&#xff1a;https://www.cnblogs.com/dotnetcrazy/p/9363810.html 官方文檔&#xff1a;https…

11月12號 用戶登錄輸入密碼錯誤達到指定次數后,鎖定賬戶 004

用戶表里添加兩個屬性 連續密碼輸錯次數private Integer loginFailCount;/** 登錄失敗禁用時間 */ private Date missDate; / 如果登錄錯誤次數大于5次 規定時間內禁止登錄if(dbUser.getLoginFailCount() ! null && dbUser.getLoginFailCount() > 3){if(DateUtils.…

Goobuntu:谷歌的內部桌面系統

摘要&#xff1a;大多數Linux用戶都知道Google用Linux作為它們的桌面和服務器端操作系統&#xff0c;有的人可能還知道Google選擇的是定制的Ubuntu——Goobuntu&#xff0c;但在此之前幾乎沒有Google外部人員了解他們究竟是如何使用Ubuntu的&#xff0c;8月29日&#xff0c;Tho…