摘要:其中有一個(gè)便是這個(gè)包的入口類,這個(gè)入口類推薦是放在一個(gè)項(xiàng)目的頂層包中,其他所有的類都放在其子包下面,目錄結(jié)構(gòu)如以下所示。這個(gè)目錄結(jié)構(gòu)是主流及推薦的做法,而在主入口類上加上注解來開啟的各項(xiàng)能力,如自動(dòng)配置組件掃描等。
Spring Boot 與傳統(tǒng)項(xiàng)目最大的區(qū)別是,傳統(tǒng)項(xiàng)目都是打成 WAR 包部署到服務(wù)器上面,需要額外的 Servlet 容器, 而 Spring Boot 則可以直接打成 jar 包,并內(nèi)置集成了 Servlet 容器,通過命令 java -jar xx.jar 則可以直接運(yùn)行,不需要獨(dú)立的 Servlet 容器。
打成可執(zhí)行 jar 包后,我們來看下其中的 META-INF/MANIFEST.MF 文件。
Manifest-Version: 1.0 Archiver-Version: Plexus Archiver Built-By: admin Start-Class: cn.javastack.MyApplication Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Spring-Boot-Version: 2.0.4.RELEASE Created-By: Apache Maven 3.5.0 Build-Jdk: 1.8.0_151 Main-Class: org.springframework.boot.loader.JarLauncher
其中有一個(gè) Start-Class 便是這個(gè) jar 包的入口類,這個(gè)入口類推薦是放在一個(gè)項(xiàng)目的頂層包中,其他所有的類都放在其子包下面,目錄結(jié)構(gòu)如以下所示。
cn +- javastack +- MyApplication.java | +- customer | +- Customer.java | +- CustomerController.java | +- CustomerService.java | +- CustomerRepository.java | +- order +- Order.java +- OrderController.java +- OrderService.java +- OrderRepository.java
這個(gè)目錄結(jié)構(gòu)是主流及推薦的做法,而在主入口類上加上 @SpringBootApplication 注解來開啟 Spring Boot 的各項(xiàng)能力,如自動(dòng)配置、組件掃描等。
package cn.javastack.MyApplication; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication.run(MyApplication.class, args); } }
如果你不想這么做,你也可以充分利用 @EnableAutoConfiguration 和 @ComponentScan 注解自定義你的行為,不過這不是推薦的做法。
更多干貨推薦
1.史上最強(qiáng) Java 中高級面試題整理
2.史上最強(qiáng) Spring Boot & Cloud 教程整理
3.史上最強(qiáng)架構(gòu)設(shè)計(jì)分布式技術(shù)干貨整理
更多請掃描下方的二維碼關(guān)注我們的微信公眾號,干貨每日推送!
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/77299.html
摘要:你如何理解中的可以理解為啟動(dòng)器,它包含了一系列可以集成到應(yīng)用里面的依賴包,你可以一站式集成及其他技術(shù),而不需要到處找示例代碼和依賴包。如你想使用訪問數(shù)據(jù)庫,只要加入啟動(dòng)器依賴就能使用了。 面試了一些人,簡歷上都說自己熟悉 Spring Boot, 或者說正在學(xué)習(xí) Spring Boot,一問他們時(shí),都只停留在簡單的使用階段,很多東西都不清楚,也讓我對面試者大失所望。 下面,我給大家總結(jié)...
摘要:也就是說,可以執(zhí)行成功,是因?yàn)橹懒说穆窂剑f明在啟動(dòng)調(diào)用之前,指定了的位置。判斷當(dāng)前的介質(zhì),是啟動(dòng),還是啟動(dòng)。 Spring-Boot啟動(dòng)之前做了哪些事? Spring Boot Jar文件探究 初始化一個(gè)Spring 應(yīng)用,添加如下依賴 4.0.0 org.springframework.boot spring-boot-sta...
摘要:典型示例以下結(jié)構(gòu)是比較推薦的組織方式,所有的類和其他都在之下。應(yīng)用主類,該類直接位于下。默認(rèn)情況下,的應(yīng)用主類會(huì)自動(dòng)掃描以及所有子包下的所有類來進(jìn)行初始化。 Spring Boot框架本身并沒有對工程結(jié)構(gòu)有特別的要求,但是按照最佳實(shí)踐的工程結(jié)構(gòu)可以幫助我們減少可能會(huì)遇見的坑,尤其是Spring包掃描機(jī)制的存在,如果您使用最佳實(shí)踐的工程結(jié)構(gòu),可以免去不少特殊的配置工作。 典型示例 以下結(jié)...
摘要:代碼示例本文示例讀者可以通過查看下面?zhèn)}庫的中的三個(gè)項(xiàng)目如果您對這些感興趣,歡迎收藏轉(zhuǎn)發(fā)給予支持以下專題教程也許您會(huì)有興趣基礎(chǔ)教程基礎(chǔ)教程 有很多讀者問過這樣的一個(gè)問題:雖然使用Swagger可以為Spring MVC編寫的接口生成了API文檔,但是在微服務(wù)化之后,這些API文檔都離散在各個(gè)微服務(wù)中,是否有辦法將這些接口都整合到一個(gè)文檔中?之前給大家的回復(fù)都只是簡單的說了個(gè)思路,昨天正好...
摘要:為什么我會(huì)說它們是一樣的簡單思考一下我的后端書架后端掘金我的后端書架月前本書架主要針對后端開發(fā)與架構(gòu)。一方案調(diào)研版本選擇當(dāng)前主流版本是和應(yīng)用的后臺(tái)運(yùn)行配置后端掘金醬油一篇,整理一下關(guān)于后臺(tái)運(yùn)行的一些配置方式。 分享 50 個(gè)完整的 React Native 項(xiàng)目 - 掘金本文為 Marno 原創(chuàng),轉(zhuǎn)載必須保留出處! 公眾號 aMarno,關(guān)注后回復(fù) RN 加入交流群 簡書專題《 Rea...
閱讀 2621·2021-11-25 09:43
閱讀 2725·2021-11-04 16:09
閱讀 1636·2021-10-12 10:13
閱讀 881·2021-09-29 09:35
閱讀 880·2021-08-03 14:03
閱讀 1777·2019-08-30 15:55
閱讀 2989·2019-08-28 18:14
閱讀 3489·2019-08-26 13:43