摘要:由于本人更習(xí)慣使用所以后續(xù)案例都是基于與,同時這里是基于最新的編寫的哦創(chuàng)建項目初次接觸,我們先來看看如何創(chuàng)建一個項目,這里以為例,其他的工具小伙伴們自行搜索創(chuàng)建方式。創(chuàng)建完項目后,各位小伙伴請認真細心的對比下與傳統(tǒng)的工程有何區(qū)別如目錄結(jié)構(gòu)。
SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出一個 WEB 工程
未接觸 SpringBoot 之前,搭建一個普通的 WEB 工程往往需要花費30分鐘左右,如果遇到點奇葩的問題耽擱的時間會更長一點,但自從用了SpringBoot 后,真正體會到什么叫分分鐘搭建一個WEB,讓我擁有更多的時間跟我的小伙伴們嘮嗑了。使用 SpringBoot 后發(fā)現(xiàn)一切是如此的簡單(還記得讀書那會被JAR包,xml支配的恐懼嗎,如今都可以說 good bye)
設(shè)計的目標為所有使用 Spring 的開發(fā)者提供一個更簡單,快速的入門體驗
提供一些常見的功能、如監(jiān)控、WEB容器,健康,安全等功能
干掉XML,遵循規(guī)范,開箱即用
前提SpringBoot 為我們提供了一系列的依賴包,所以需要構(gòu)建工具的支持:Maven 或 Gradle。由于本人更習(xí)慣使用Maven所以后續(xù)案例都是基于Maven 與 IntelliJ IDEA,同時這里是基于最新的SpringBoot2編寫的哦...
創(chuàng)建項目初次接觸,我們先來看看如何創(chuàng)建一個Spring Boot項目,這里以IntelliJ IDEA為例,其他的IDE工具小伙伴們自行搜索創(chuàng)建方式。創(chuàng)建完項目后,各位小伙伴請認真、細心的對比下與傳統(tǒng)的WEB工程有何區(qū)別(如:目錄結(jié)構(gòu))。
點擊File -> Project
如果用過 Eclipse/IDEA 等工具的,對創(chuàng)建項目肯定不會陌生,但為了照顧第一次使用的我貼上了圖文
選擇Spring Initializr
到這一步選擇的時候,如圖中選項的是Spring Initializr(官方的構(gòu)建插件,需要聯(lián)網(wǎng)),第二個是自己選擇Maven構(gòu)建,為了更好的適合初學(xué)者,我們將在本章用插件構(gòu)建
填寫項目基本信息
Group: 組織ID,一般分為多個段,這里我只說兩段,第一段為域,第二段為公司名稱。域又分為 org、com、cn等等,其中 org為非營利組織,com為商業(yè)組織。如阿里、淘寶(com.alibaba/com.taobao)
Artifact: 唯一標識符,一般是項目名稱
選擇包
Spring Initializr 為我們提供了很多的選項,不同的選項有不同的作用,在初期我們只需要依賴Web -> Web 就可以了,選擇好依賴包之后點擊Next -> Finish
目錄結(jié)果- src -main -java -package #主函數(shù),啟動類,運行它如果運行了 Tomcat、Jetty、Undertow 等容器 -SpringbootApplication -resouces #存放靜態(tài)資源 js/css/images 等 - statics #存放 html 模板文件 - templates #主要的配置文件,SpringBoot啟動時候會自動加載application.yml/application.properties - application.yml #測試文件存放目錄 -test # pom.xml 文件是Maven構(gòu)建的基礎(chǔ),里面包含了我們所依賴JAR和Plugin的信息 - pompom.xml 依賴
因為使用了 Spring Initializr 插件,所以如下的配置都不需要我們自己去寫啦,需要注意的是版本要選擇 RELEASE ,穩(wěn)定版本BUG少
4.0.0 com.battcn chapter1 0.0.1-SNAPSHOT jar chapter1 我的用第一個SpringBoot工程 org.springframework.boot spring-boot-starter-parent 2.0.1.RELEASE UTF-8 UTF-8 1.8 org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-test test org.springframework.boot spring-boot-maven-plugin
其它的依賴可以參考:官方文檔
主函數(shù)入口注意事項: 一個項目中切記不要出現(xiàn)多個 main 函數(shù),否在在打包的時候 spring-boot-maven-plugin 將找不到主函數(shù)(主動指定打包主函數(shù)入口除外...)
/** * 我的第一個SpringBoot程序 * 其中 @RestController 等同于 (@Controller 與 @ResponseBody) * * @author Levin */ @RestController @SpringBootApplication public class Chapter1Application { public static void main(String[] args) { SpringApplication.run(Chapter1Application.class, args); } @GetMapping("/demo1") public String demo1() { return "Hello battcn"; } @Bean public CommandLineRunner commandLineRunner(ApplicationContext ctx) { // 目的是 return args -> { System.out.println("來看看 SpringBoot 默認為我們提供的 Bean:"); String[] beanNames = ctx.getBeanDefinitionNames(); Arrays.sort(beanNames); Arrays.stream(beanNames).forEach(System.out::println); }; } }初窺配置文件
從啟動日志中可以發(fā)現(xiàn),SpringBoot 默認的端口是 8080 ,那么如果端口被占用了怎么辦呢?不要慌,問題不大,配置文件分分鐘解決你的困擾...
2018-04-20 16:14:46.725 INFO 11184 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ""
修改默認配置
# 默認的 8080 我們將它改成 9090 server.port=9090 # 未定義上下文路徑之前 地址是 http://localhost:8080 定義了后 http://localhost:9090 你能在tomcat做的事情,配置文件都可以 server.servlet.context-path=/chapter1
在啟動一次看看日志
2018-04-20 16:47:05.716 INFO 12108 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9090 (http) with context path "/chapter1"測試
本次測試采用 junit 進行,當(dāng)然也可以啟動項目后直接訪問 http://localhost:9090/chapter1/demo1 進行測試
import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.web.client.TestRestTemplate; import org.springframework.boot.web.server.LocalServerPort; import org.springframework.http.ResponseEntity; import org.springframework.test.context.junit4.SpringRunner; import java.net.URL; import static org.junit.Assert.assertEquals; @RunWith(SpringRunner.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class Chapter1ApplicationTests { @LocalServerPort private int port; private URL base; @Autowired private TestRestTemplate template; @Before public void setUp() throws Exception { // TODO 因為我們修改了 content-path 所以請求后面要帶上 this.base = new URL("http://localhost:" + port + "/chapter1/demo1"); } @Test public void demo1() throws Exception { ResponseEntity拓展知識 自定義Bannerresponse = template.getForEntity(base.toString(), String.class); assertEquals(response.getBody(), "Hello battcn"); } }
SpringBoot 啟動的時候我們可以看到如下內(nèi)容,這一塊其實是可以自定義的哦,而且在 2.X 版本中,它支持的格式從文本擴展到banner.txt、banner.jpg、banner.gif、banner.jpeg 等等,只需要在 resouces 目錄下添加指定命名的文件即可
. ____ _ __ _ _ / / ___"_ __ _ _(_)_ __ __ _ ( ( )\___ | "_ | "_| | "_ / _` | / ___)| |_)| | | | | || (_| | ) ) ) ) " |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.0.1.RELEASE)總結(jié)
目前很多大佬都寫過關(guān)于 SpringBoot 的教程了,如有雷同,請多多包涵,本教程基于最新的 spring-boot-starter-parent:2.0.1.RELEASE編寫,包括新版本的特性都會一起介紹...
說點什么個人QQ:1837307557
battcn開源群(適合新手):391619659
微信公眾號(歡迎調(diào)戲):battcn
個人博客:http://blog.battcn.com/
全文代碼:https://github.com/battcn/spring-boot2-learning/tree/master/chapter1
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/71338.html
摘要:它使用約定大于配置的理念讓你的項目快速運行起來。如何使用構(gòu)建工程第一步,當(dāng)然是安裝傻瓜式教程,請自行百度。包名,填完和后自動生成,默認即可。確認無誤,點完成創(chuàng)建即可。 微信公眾號:一個優(yōu)秀的廢人如有問題或建議,請后臺留言,我會盡力解決你的問題。 前言 新年立了個 flag,好好運營這個公眾號。具體來說,就是每周要寫兩篇文章在這個號發(fā)表。剛立的 flag 可不能這么快打臉。下面送上本周第...
摘要:簡介它的設(shè)計目的就是為例簡化開發(fā),開啟了各種自動裝配,你不想寫各種配置文件,引入相關(guān)的依賴就能迅速搭建起一個工程。它采用的是建立生產(chǎn)就緒的應(yīng)用程序觀點,優(yōu)先于配置的慣例。另,本系列教程全部用的作為開發(fā)工具。 簡介 spring boot 它的設(shè)計目的就是為例簡化開發(fā),開啟了各種自動裝配,你不想寫各種配置文件,引入相關(guān)的依賴就能迅速搭建起一個web工程。它采用的是建立生產(chǎn)就緒的應(yīng)用程序觀...
摘要:下載地址百度谷歌一大堆以下介紹如何使用自帶的下載下載請選擇版本創(chuàng)建一個項目輸入輸入輸入修改為如下將自動下載以及相關(guān)依賴包至此工程已經(jīng)搭建完畢,下一篇將是一個 (why)為什么springboot火遍全世界 springboot 有個好爹spring springboot 遺傳了爹的優(yōu)秀基因而生 大神們都在講服務(wù)化(service),springboot做服務(wù)化再合適不過了 sprin...
摘要:但是這種手寫文檔帶來的弊端就是維護起來苦不堪言,對于接口容易發(fā)生變化的開發(fā)者來說,維護文檔就是噩夢好在現(xiàn)如今市場上書寫文檔的工具有很多,常見的有阿里的但是能稱之為框架的,估計也只有了。 SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴...
摘要:如何測試進入到項目目錄,此處以我本地目錄為主然后打開程序,不會在當(dāng)前目錄打開的請自行百度,輸入打包完畢后進入到目錄中去,我們可以發(fā)現(xiàn)一個名為的包接著在打開程序,輸入。 SpringBoot 是為了簡化 Spring 應(yīng)用的創(chuàng)建、運行、調(diào)試、部署等一系列問題而誕生的產(chǎn)物,自動裝配的特性讓我們可以更好的關(guān)注業(yè)務(wù)本身而不是外部的XML配置,我們只需遵循規(guī)范,引入相關(guān)的依賴就可以輕易的搭建出...
閱讀 3473·2021-10-27 14:20
閱讀 2639·2021-10-08 10:05
閱讀 1692·2021-09-09 09:33
閱讀 2956·2019-08-30 13:16
閱讀 1503·2019-08-29 18:34
閱讀 1241·2019-08-29 10:58
閱讀 1291·2019-08-28 18:22
閱讀 1283·2019-08-26 13:33