亚洲精品中文免费|亚洲日韩中文字幕制服|久久精品亚洲免费|一本之道久久免费

      
      

            <dl id="hur0q"><div id="hur0q"></div></dl>

                Spring Boot面試題(總結(jié)最全面的面試題!?。。?/h1>

                什么是 Spring Boot?

                • Spring Boot 是 Spring 開(kāi)源組織下的子項(xiàng)目,是 Spring 組件一站式解決方案,主要是簡(jiǎn)化了使用 Spring 的難度,簡(jiǎn)省了繁重的配置,提供了各種啟動(dòng)器,使開(kāi)發(fā)者能快速上手。

                為什么要用SpringBoot

                • 快速開(kāi)發(fā),快速整合,配置簡(jiǎn)化、內(nèi)嵌服務(wù)容器

                SpringBoot與SpringCloud 區(qū)別

                • SpringBoot是快速開(kāi)發(fā)的Spring框架,SpringCloud是完整的微服務(wù)框架,SpringCloud依賴于SpringBoot。

                Spring Boot 有哪些優(yōu)點(diǎn)?

                • Spring Boot 主要有如下優(yōu)點(diǎn): 容易上手,提升開(kāi)發(fā)效率,為 Spring 開(kāi)發(fā)提供一個(gè)更快、更簡(jiǎn)單的開(kāi)發(fā)框架。 開(kāi)箱即用,遠(yuǎn)離繁瑣的配置。 提供了一系列大型項(xiàng)目通用的非業(yè)務(wù)性功能,例如:內(nèi)嵌服務(wù)器、安全管理、運(yùn)行數(shù)據(jù)監(jiān)控、運(yùn)行狀況檢查和外部化配置等。 SpringBoot總結(jié)就是使編碼變簡(jiǎn)單、配置變簡(jiǎn)單、部署變簡(jiǎn)單、監(jiān)控變簡(jiǎn)單等等

                Spring Boot 的核心注解是哪個(gè)?它主要由哪幾個(gè)注解組成的?

                • 啟動(dòng)類上面的注解是@SpringBootApplication,它也是 Spring Boot 的核心注解,主要組合包含了以下 3 個(gè)注解:
                  • @SpringBootConfiguration:組合了 @Configuration 注解,實(shí)現(xiàn)配置文件的功能。
                  • @EnableAutoConfiguration:打開(kāi)自動(dòng)配置的功能,也可以關(guān)閉某個(gè)自動(dòng)配置的選項(xiàng), 例如:java 如關(guān)閉數(shù)據(jù)源自動(dòng)配置功能: @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class })。
                  • @ComponentScan:Spring組件掃描。

                Spring Boot 支持哪些日志框架?推薦和默認(rèn)的日志框架是哪個(gè)?

                • Spring Boot 支持 Java Util Logging, Log4j2, Lockback 作為日志框架,如果你使用 Starters 啟動(dòng)器,Spring Boot 將使用 Logback 作為默認(rèn)日志框架,但是不管是那種日志框架他都支持將配置文件輸出到控制臺(tái)或者文件中。

                SpringBoot Starter的工作原理

                • 我個(gè)人理解SpringBoot就是由各種Starter組合起來(lái)的,我們自己也可以開(kāi)發(fā)Starter
                • 在sprinBoot啟動(dòng)時(shí)由@SpringBootApplication注解會(huì)自動(dòng)去maven中讀取每個(gè)starter中的spring.factories文件,該文件里配置了所有需要被創(chuàng)建spring容器中的bean,并且進(jìn)行自動(dòng)配置把bean注入SpringContext中 //(SpringContext是Spring的配置文件)

                Spring Boot 2.X 有什么新特性?與 1.X 有什么區(qū)別?

                • 配置變更
                • JDK 版本升級(jí)
                • 第三方類庫(kù)升級(jí)
                • 響應(yīng)式 Spring 編程支持
                • HTTP/2 支持
                • 配置屬性綁定
                • 更多改進(jìn)與加強(qiáng)

                SpringBoot支持什么前端模板,

                • thymeleaf,freemarker,jsp,官方不推薦JSP會(huì)有限制

                SpringBoot的缺點(diǎn)

                • 我覺(jué)得是為難人,SpringBoot在目前我覺(jué)得沒(méi)有什么缺點(diǎn),非要找一個(gè)出來(lái)我覺(jué)得就是 由于不用自己做的配置,報(bào)錯(cuò)時(shí)很難定位。

                運(yùn)行 Spring Boot 有哪幾種方式?

              1. 打包用命令或者放到容器中運(yùn)行
              2. 用 Maven/ Gradle 插件運(yùn)行
              3. 直接執(zhí)行 main 方法運(yùn)行
              4. Spring Boot 需要獨(dú)立的容器運(yùn)行嗎?

                • 可以不需要,內(nèi)置了 Tomcat/ Jetty 等容器。

                開(kāi)啟 Spring Boot 特性有哪幾種方式?

              5. 繼承spring-boot-starter-parent項(xiàng)目
              6. 導(dǎo)入spring-boot-dependencies項(xiàng)目依賴
              7. SpringBoot 實(shí)現(xiàn)熱部署有哪幾種方式?

                • 熱部署就是可以不用重新運(yùn)行SpringBoot項(xiàng)目可以實(shí)現(xiàn)操作后臺(tái)代碼自動(dòng)更新到以運(yùn)行的項(xiàng)目中
                • 主要有兩種方式: Spring Loaded Spring-boot-devtools

                SpringBoot事物的使用

                • SpringBoot的事物很簡(jiǎn)單,首先使用注解EnableTransactionManagement開(kāi)啟事物之后,然后在Service方法上添加注解Transactional便可。

                Async異步調(diào)用方法

                • 在SpringBoot中使用異步調(diào)用是很簡(jiǎn)單的,只需要在方法上使用@Async注解即可實(shí)現(xiàn)方法的異步調(diào)用。 注意:需要在啟動(dòng)類加入@EnableAsync使異步調(diào)用@Async注解生效。

                如何在 Spring Boot 啟動(dòng)的時(shí)候運(yùn)行一些特定的代碼?

                • 可以實(shí)現(xiàn)接口 ApplicationRunner 或者 CommandLineRunner,這兩個(gè)接口實(shí)現(xiàn)方式一樣,它們都只提供了一個(gè) run 方法

                Spring Boot 有哪幾種讀取配置的方式?

                • Spring Boot 可以通過(guò) @PropertySource,@Value,@Environment, @ConfigurationPropertie注解來(lái)綁定變量

                什么是 JavaConfig?

                • Spring JavaConfig 是 Spring 社區(qū)的產(chǎn)品,Spring 3.0引入了他,它提供了配置 Spring IOC 容器的純Java 方法。因此它有助于避免使用 XML 配置。使用 JavaConfig 的優(yōu)點(diǎn)在于:
                  • 面向?qū)ο蟮呐渲?。由于配置被定義為 JavaConfig 中的類,因此用戶可以充分利用 Java 中的面向?qū)ο蠊δ堋R粋€(gè)配置類可以繼承另一個(gè),重寫它的@Bean 方法等。
                  • 減少或消除 XML 配置?;谝蕾囎⑷朐瓌t的外化配置的好處已被證明。但是,許多開(kāi)發(fā)人員不希望在 XML 和 Java 之間來(lái)回切換。JavaConfig 為開(kāi)發(fā)人員提供了一種純 Java 方法來(lái)配置與 XML 配置概念相似的 Spring 容器。從技術(shù)角度來(lái)講,只使用 JavaConfig 配置類來(lái)配置容器是可行的,但實(shí)際上很多人認(rèn)為將JavaConfig 與 XML 混合匹配是理想的。
                  • 類型安全和重構(gòu)友好。JavaConfig 提供了一種類型安全的方法來(lái)配置 Spring容器。由于 Java 5.0 對(duì)泛型的支持,現(xiàn)在可以按類型而不是按名稱檢索 bean,不需要任何強(qiáng)制轉(zhuǎn)換或基于字符串的查找。
                • 常用的Java config:
                  • @Configuration:在類上打上寫下此注解,表示這個(gè)類是配置類
                  • @ComponentScan:在配置類上添加 @ComponentScan 注解。該注解默認(rèn)會(huì)掃描該類所在的包下所有的配置類,相當(dāng)于之前的 。
                  • @Bean:bean的注入:相當(dāng)于以前的
                  • @EnableWebMvc:相當(dāng)于xml的
                  • @ImportResource: 相當(dāng)于xml的

                SpringBoot的自動(dòng)配置原理是什么

                • 主要是Spring Boot的啟動(dòng)類上的核心注解SpringBootApplication注解主配置類,有了這個(gè)主配置類啟動(dòng)時(shí)就會(huì)為SpringBoot開(kāi)啟一個(gè)@EnableAutoConfiguration注解自動(dòng)配置功能。
                • 有了這個(gè)EnableAutoConfiguration的話就會(huì):
                • 從配置文件META_INF/Spring.factories加載可能用到的自動(dòng)配置類
                • 去重,并將exclude和excludeName屬性攜帶的類排除
                • 過(guò)濾,將滿足條件(@Conditional)的自動(dòng)配置類返回

                你如何理解 Spring Boot 配置加載順序?

                • 在 Spring Boot 里面,可以使用以下幾種方式來(lái)加載配置。
                  • 1.properties文件;
                  • 2.YAML文件;
                  • 3.系統(tǒng)環(huán)境變量;
                  • 4.命令行參數(shù);
                  • 等等……

                什么是 YAML?

                • YAML 是一種人類可讀的數(shù)據(jù)序列化語(yǔ)言。它通常用于配置文件。與屬性文件相比,如果我們想要在配置文件中添加復(fù)雜的屬性,YAML 文件就更加結(jié)構(gòu)化,而且更少混淆。可以看出 YAML 具有分層配置數(shù)據(jù)。

                YAML 配置的優(yōu)勢(shì)在哪里 ?

                • YAML 現(xiàn)在可以算是非常流行的一種配置文件格式了,無(wú)論是前端還是后端,都可以見(jiàn)到 YAML 配置。那么 YAML 配置和傳統(tǒng)的 properties 配置相比到底有哪些優(yōu)勢(shì)呢?
                  • 配置有序,在一些特殊的場(chǎng)景下,配置有序很關(guān)鍵
                  • 簡(jiǎn)潔明了,他還支持?jǐn)?shù)組,數(shù)組中的元素可以是基本數(shù)據(jù)類型也可以是對(duì)象
                  • 相比 properties 配置文件,YAML 還有一個(gè)缺點(diǎn),就是不支持 @PropertySource 注解導(dǎo)入自定義的 YAML 配置。

                Spring Boot 是否可以使用 XML 配置 ?

                • Spring Boot 推薦使用 Java 配置而非 XML 配置,但是 Spring Boot 中也可以使用 XML 配置,通過(guò) @ImportResource 注解可以引入一個(gè) XML 配置。

                spring boot 核心配置文件是什么?bootstrap.properties 和 application.properties 有何區(qū)別 ?

                • 單純做 Spring Boot 開(kāi)發(fā),可能不太容易遇到 bootstrap.properties 配置文件,但是在結(jié)合 Spring Cloud 時(shí),這個(gè)配置就會(huì)經(jīng)常遇到了,特別是在需要加載一些遠(yuǎn)程配置文件的時(shí)侯。
                • spring boot 核心的兩個(gè)配置文件:
                  • bootstrap (. yml 或者 . properties):boostrap 由父 ApplicationContext 加載的,比 applicaton 優(yōu)先加載,配置在應(yīng)用程序上下文的引導(dǎo)階段生效。一般來(lái)說(shuō)我們?cè)?Spring Cloud 配置就會(huì)使用這個(gè)文件。且 boostrap 里面的屬性不能被覆蓋;
                  • application (. yml 或者 . properties): 由ApplicatonContext 加載,用于 spring boot 項(xiàng)目的自動(dòng)化配置。

                什么是 Spring Profiles?

                • 在項(xiàng)目的開(kāi)發(fā)中,有些配置文件在開(kāi)發(fā)、測(cè)試或者生產(chǎn)等不同環(huán)境中可能是不同的,例如數(shù)據(jù)庫(kù)連接、redis的配置等等。那我們?nèi)绾卧诓煌h(huán)境中自動(dòng)實(shí)現(xiàn)配置的切換呢?Spring給我們提供了profiles機(jī)制給我們提供的就是來(lái)回切換配置文件的功能
                • Spring Profiles 允許用戶根據(jù)配置文件(dev,test,prod 等)來(lái)注冊(cè) bean。因此,當(dāng)應(yīng)用程序在開(kāi)發(fā)中運(yùn)行時(shí),只有某些 bean 可以加載,而在 PRODUCTION中,某些其他 bean 可以加載。假設(shè)我們的要求是 Swagger 文檔僅適用于 QA 環(huán)境,并且禁用所有其他文檔。這可以使用配置文件來(lái)完成。Spring Boot 使得使用配置文件非常簡(jiǎn)單。

                SpringBoot多數(shù)據(jù)源拆分的思路

                • 先在properties配置文件中配置兩個(gè)數(shù)據(jù)源,創(chuàng)建分包mapper,使用@ConfigurationProperties讀取properties中的配置,使用@MapperScan注冊(cè)到對(duì)應(yīng)的mapper包中

                SpringBoot多數(shù)據(jù)源事務(wù)如何管理

                • 第一種方式是在service層的@TransactionManager中使用transactionManager指定DataSourceConfig中配置的事務(wù)
                • 第二種是使用jta-atomikos實(shí)現(xiàn)分布式事務(wù)管理

                保護(hù) Spring Boot 應(yīng)用有哪些方法?

                • 在生產(chǎn)中使用HTTPS
                • 使用Snyk檢查你的依賴關(guān)系
                • 升級(jí)到最新版本
                • 啟用CSRF保護(hù)
                • 使用內(nèi)容安全策略防止XSS攻擊

                如何實(shí)現(xiàn) Spring Boot 應(yīng)用程序的安全性?

                • 為了實(shí)現(xiàn) Spring Boot 的安全性,我們使用 spring-boot-starter-security 依賴項(xiàng),并且必須添加安全配置。它只需要很少的代碼。配置類將必須擴(kuò)展WebSecurityConfigurerAdapter 并覆蓋其方法。

                比較一下 Spring Security 和 Shiro 各自的優(yōu)缺點(diǎn) ?

                • 由于 Spring Boot 官方提供了大量的非常方便的開(kāi)箱即用的 Starter ,包括 Spring Security 的 Starter ,使得在 Spring Boot 中使用 Spring Security 變得更加容易,甚至只需要添加一個(gè)依賴就可以保護(hù)所有的接口,所以,如果是 Spring Boot 項(xiàng)目,一般選擇 Spring Security 。當(dāng)然這只是一個(gè)建議的組合,單純從技術(shù)上來(lái)說(shuō),無(wú)論怎么組合,都是沒(méi)有問(wèn)題的。Shiro 和 Spring Security 相比,主要有如下一些特點(diǎn):
                  • Spring Security 是一個(gè)重量級(jí)的安全管理框架;Shiro 則是一個(gè)輕量級(jí)的安全管理框架
                  • Spring Security 概念復(fù)雜,配置繁瑣;Shiro 概念簡(jiǎn)單、配置簡(jiǎn)單
                  • Spring Security 功能強(qiáng)大;Shiro 功能簡(jiǎn)單

                Spring Boot 中如何解決跨域問(wèn)題 ?

                • 跨域可以在前端通過(guò) JSONP 來(lái)解決,但是 JSONP 只可以發(fā)送 GET 請(qǐng)求,無(wú)法發(fā)送其他類型的請(qǐng)求,在 RESTful 風(fēng)格的應(yīng)用中,就顯得非常雞肋,因此我們推薦在后端通過(guò) (CORS,Cross-origin resource sharing) 來(lái)解決跨域問(wèn)題。這種解決方案并非 Spring Boot 特有的,在傳統(tǒng)的 SSM 框架中,就可以通過(guò) CORS 來(lái)解決跨域問(wèn)題,只不過(guò)之前我們是在 XML 文件中配置 CORS ,現(xiàn)在可以通過(guò)實(shí)現(xiàn)WebMvcConfigurer接口然后重寫addCorsMappings方法解決跨域問(wèn)題。

                @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping(“/**”) .allowedOrigins(“*”) .allowCredentials(true) .allowedMethods(“GET”, “POST”, “PUT”, “DELETE”, “OPTIONS”) .maxAge(3600); } }

                Spring Boot 中的監(jiān)視器是什么?

                • Spring boot actuator 是 spring 啟動(dòng)框架中的重要功能之一。Spring boot 監(jiān)視器可幫助您訪問(wèn)生產(chǎn)環(huán)境中正在運(yùn)行的應(yīng)用程序的當(dāng)前狀態(tài)。有幾個(gè)指標(biāo)必須在生產(chǎn)環(huán)境中進(jìn)行檢查和監(jiān)控。即使一些外部應(yīng)用程序可能正在使用這些服務(wù)來(lái)向相關(guān)人員觸發(fā)警報(bào)消息。監(jiān)視器模塊公開(kāi)了一組可直接作為 HTTP URL 訪問(wèn)的REST 端點(diǎn)來(lái)檢查狀態(tài)。

                如何使用 Spring Boot 實(shí)現(xiàn)全局異常處理?

                • Spring 提供了一種使用 ControllerAdvice 處理異常的非常有用的方法。 我們通過(guò)實(shí)現(xiàn)一個(gè) ControlerAdvice 類,來(lái)處理控制器類拋出的所有異常。

                我們?nèi)绾伪O(jiān)視所有 Spring Boot 微服務(wù)?

                • Spring Boot 提供監(jiān)視器端點(diǎn)以監(jiān)控各個(gè)微服務(wù)的度量。這些端點(diǎn)對(duì)于獲取有關(guān)應(yīng)用程序的信息(如它們是否已啟動(dòng))以及它們的組件(如數(shù)據(jù)庫(kù)等)是否正常運(yùn)行很有幫助。但是,使用監(jiān)視器的一個(gè)主要缺點(diǎn)或困難是,我們必須單獨(dú)打開(kāi)應(yīng)用程序的知識(shí)點(diǎn)以了解其狀態(tài)或健康狀況。想象一下涉及 50 個(gè)應(yīng)用程序的微服務(wù),管理員將不得不擊中所有 50 個(gè)應(yīng)用程序的執(zhí)行終端。為了幫助我們處理這種情況,我們將使用位于的開(kāi)源項(xiàng)目。 它建立在 Spring Boot Actuator 之上,它提供了一個(gè) Web UI,使我們能夠可視化多個(gè)應(yīng)用程序的度量。

                SpringBoot性能如何優(yōu)化

                • 如果項(xiàng)目比較大,類比較多,不使用@SpringBootApplication,采用@Compoment指定掃包范圍
                • 在項(xiàng)目啟動(dòng)時(shí)設(shè)置JVM初始內(nèi)存和最大內(nèi)存相同
                • 將springboot內(nèi)置服務(wù)器由tomcat設(shè)置為undertow

                如何重新加載 Spring Boot 上的更改,而無(wú)需重新啟動(dòng)服務(wù)器?Spring Boot項(xiàng)目如何熱部署?

                • 這可以使用 DEV 工具來(lái)實(shí)現(xiàn)。通過(guò)這種依賴關(guān)系,您可以節(jié)省任何更改,嵌入式tomcat 將重新啟動(dòng)。Spring Boot 有一個(gè)開(kāi)發(fā)工具(DevTools)模塊,它有助于提高開(kāi)發(fā)人員的生產(chǎn)力。Java 開(kāi)發(fā)人員面臨的一個(gè)主要挑戰(zhàn)是將文件更改自動(dòng)部署到服務(wù)器并自動(dòng)重啟服務(wù)器。開(kāi)發(fā)人員可以重新加載 Spring Boot 上的更改,而無(wú)需重新啟動(dòng)服務(wù)器。這將消除每次手動(dòng)部署更改的需要。Spring Boot 在發(fā)布它的第一個(gè)版本時(shí)沒(méi)有這個(gè)功能。這是開(kāi)發(fā)人員最需要的功能。DevTools 模塊完全滿足開(kāi)發(fā)人員的需求。該模塊將在生產(chǎn)環(huán)境中被禁用。它還提供 H2 數(shù)據(jù)庫(kù)控制臺(tái)以更好地測(cè)試應(yīng)用程序。

                org.springframework.boot spring-boot-devtools

                SpringBoot微服務(wù)中如何實(shí)現(xiàn) session 共享 ?

                • 在微服務(wù)中,一個(gè)完整的項(xiàng)目被拆分成多個(gè)不相同的獨(dú)立的服務(wù),各個(gè)服務(wù)獨(dú)立部署在不同的服務(wù)器上,各自的 session 被從物理空間上隔離開(kāi)了,但是經(jīng)常,我們需要在不同微服務(wù)之間共享 session ,常見(jiàn)的方案就是 Spring Session + Redis 來(lái)實(shí)現(xiàn) session 共享。將所有微服務(wù)的 session 統(tǒng)一保存在 Redis 上,當(dāng)各個(gè)微服務(wù)對(duì) session 有相關(guān)的讀寫操作時(shí),都去操作 Redis 上的 session 。這樣就實(shí)現(xiàn)了 session 共享,Spring Session 基于 Spring 中的代理過(guò)濾器實(shí)現(xiàn),使得 session 的同步操作對(duì)開(kāi)發(fā)人員而言是透明的,非常簡(jiǎn)便。

                您使用了哪些 starter maven 依賴項(xiàng)?

                • 使用了下面的一些依賴項(xiàng) spring-boot-starter-web 嵌入tomcat和web開(kāi)發(fā)需要servlet與jsp支持 spring-boot-starter-data-jpa 數(shù)據(jù)庫(kù)支持 spring-boot-starter-data-redis redis數(shù)據(jù)庫(kù)支持 spring-boot-starter-data-solr solr支持 mybatis-spring-boot-starter 第三方的mybatis集成starter 自定義的starter(如果自己開(kāi)發(fā)過(guò)就可以說(shuō)出來(lái))

                Spring Boot 中的 starter 到底是什么 ?

                • 首先,這個(gè) Starter 并非什么新的技術(shù)點(diǎn),基本上還是基于 Spring 已有功能來(lái)實(shí)現(xiàn)的。首先它提供了一個(gè)自動(dòng)化配置類,一般命名為 XXXAutoConfiguration ,在這個(gè)配置類中通過(guò)條件注解來(lái)決定一個(gè)配置是否生效(條件注解就是 Spring 中原本就有的),然后它還會(huì)提供一系列的默認(rèn)配置,也允許開(kāi)發(fā)者根據(jù)實(shí)際情況自定義相關(guān)配置,然后通過(guò)類型安全的屬性(spring.factories)注入將這些配置屬性注入進(jìn)來(lái),新注入的屬性會(huì)代替掉默認(rèn)屬性。正因?yàn)槿绱?,很多第三方框架,我們只需要引入依賴就可以直接使用了。?dāng)然,開(kāi)發(fā)者也可以自定義 Starter

                Spring Boot 中如何實(shí)現(xiàn)定時(shí)任務(wù) ?

                • 在 Spring Boot 中使用定時(shí)任務(wù)主要有兩種不同的方式,一個(gè)就是使用 Spring 中的 @Scheduled 注解,另一-個(gè)則是使用第三方框架 Quartz。
                • 使用 Spring 中的 @Scheduled 的方式主要通過(guò) @Scheduled 注解來(lái)實(shí)現(xiàn)。

                spring-boot-starter-parent 有什么用 ?

                • 我們都知道,新創(chuàng)建一個(gè) Spring Boot 項(xiàng)目,默認(rèn)都是有 parent 的,這個(gè) parent 就是 spring-boot-starter-parent ,spring-boot-starter-parent 主要有如下作用:
                • 定義了 Java 編譯版本為 1.8 。
                • 使用 UTF-8 格式編碼。
                • 繼承自 spring-boot-dependencies,這個(gè)里邊定義了依賴的版本,也正是因?yàn)槔^承了這個(gè)依賴,所以我們?cè)趯懸蕾嚂r(shí)才不需要寫版本號(hào)。
                • 執(zhí)行打包操作的配置。
                • 自動(dòng)化的資源過(guò)濾。
                • 自動(dòng)化的插件配置。
                • 針對(duì) application.properties 和 application.yml 的資源過(guò)濾,包括通過(guò) profile 定義的不同環(huán)境的配置文件,例如 application-dev.properties 和 application-dev.yml。
                • 總結(jié)就是打包用的

                SpringBoot如何實(shí)現(xiàn)打包

                • 進(jìn)入項(xiàng)目目錄在控制臺(tái)輸入mvn clean package,clean是清空已存在的項(xiàng)目包,package進(jìn)行打包
                • 或者點(diǎn)擊左邊選項(xiàng)欄中的Mavne,先點(diǎn)擊clean在點(diǎn)擊package

                Spring Boot 打成的 jar 和普通的 jar 有什么區(qū)別 ?

                • Spring Boot 項(xiàng)目最終打包成的 jar 是可執(zhí)行 jar ,這種 jar 可以直接通過(guò) java -jar xxx.jar 命令來(lái)運(yùn)行,這種 jar 不可以作為普通的 jar 被其他項(xiàng)目依賴,即使依賴了也無(wú)法使用其中的類。
                • Spring Boot 的 jar 無(wú)法被其他項(xiàng)目依賴,主要還是他和普通 jar 的結(jié)構(gòu)不同。普通的 jar 包,解壓后直接就是包名,包里就是我們的代碼,而 Spring Boot 打包成的可執(zhí)行 jar 解壓后,在 BOOT-INFclasses 目錄下才是我們的代碼,因此無(wú)法被直接引用。如果非要引用,可以在 pom.xml 文件中增加配置,將 Spring Boot 項(xiàng)目打包成兩個(gè) jar ,一個(gè)可執(zhí)行,一個(gè)可引用。
                鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場(chǎng),版權(quán)歸原作者所有,如有侵權(quán)請(qǐng)聯(lián)系管理員(admin#wlmqw.com)刪除。
                用戶投稿
                上一篇 2022年6月27日 15:07
                下一篇 2022年6月27日 15:07

                相關(guān)推薦

                • 分享4條發(fā)微商朋友圈的方法(微商朋友圈應(yīng)該怎么發(fā))

                  對(duì)于微商朋友來(lái)說(shuō),朋友圈的重要性不言而喻了。 那么微商的朋友圈到底該怎么發(fā)呢? 為什么同樣是經(jīng)營(yíng)一個(gè)朋友圈,有的微商看起來(lái)逼格滿滿,實(shí)際效果也不錯(cuò);而有的卻動(dòng)都不動(dòng)就被屏蔽甚至拉黑…

                  2022年11月27日
                • 30個(gè)無(wú)加盟費(fèi)的項(xiàng)目(茶顏悅色奶茶店加盟費(fèi)多少)

                  茶顏悅色又爆了,8月18日,茶顏悅色南京門店正式開(kāi)業(yè),開(kāi)張不到半小時(shí),門店就人滿為患,消費(fèi)者的購(gòu)買熱情十分高漲,而由于人流量過(guò)大造成擁堵,茶顏悅色也不得不暫停營(yíng)業(yè)。 當(dāng)然,這里面排…

                  2022年11月27日
                • 短視頻策劃內(nèi)容的3個(gè)要點(diǎn)(短視頻策劃內(nèi)容怎么做)

                  短視頻在制作時(shí),內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過(guò)時(shí)了。現(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

                  2022年11月27日
                • 凈利潤(rùn)率越高越好嗎(凈利潤(rùn)率多少合適)

                  一、持續(xù)增收不增利,平均凈利潤(rùn)率首次跌入個(gè)位數(shù) 2021年,增收不增利依舊是行業(yè)主流。具體來(lái)看,大部分企業(yè)營(yíng)業(yè)收入呈增長(zhǎng)態(tài)勢(shì),E50企業(yè)平均同比增速達(dá)到17.3%,但是利潤(rùn)增速則明…

                  2022年11月26日
                • 全民K歌升級(jí)新版本7.0之后,有哪些隱藏功能?

                  作者:高百烈來(lái)源:知乎 這個(gè)功能,舊版并沒(méi)有,要升級(jí)到全新的全民K歌7.0版本才能發(fā)現(xiàn)。 作為朋友圈當(dāng)代K歌之王,我費(fèi)了不少功夫才搶到內(nèi)測(cè)版本。有一說(shuō)一,全民K歌的路子真的很野,新…

                  2022年11月25日
                • 《寶可夢(mèng)朱紫》夢(mèng)特性怎么獲得?隱藏特性獲取方法推薦

                  寶可夢(mèng)朱紫里有很多寶可夢(mèng)都是擁有夢(mèng)特性會(huì)變強(qiáng)的寶可夢(mèng),很多玩家不知道夢(mèng)特性怎么獲得,下面就給大家?guī)?lái)寶可夢(mèng)朱紫隱藏特性獲取方法推薦,感興趣的小伙伴一起來(lái)看看吧,希望能幫助到大家。 …

                  2022年11月25日
                • 《寶可夢(mèng)朱紫》奇魯莉安怎么進(jìn)化?奇魯莉安進(jìn)化方法分享

                  寶可夢(mèng)朱紫中的奇魯莉安要怎么進(jìn)化呢?很多玩家都不知道,下面就給大家?guī)?lái)寶可夢(mèng)朱紫奇魯莉安進(jìn)化方法分享,感興趣的小伙伴一起來(lái)看看吧,希望能幫助到大家。 奇魯莉安進(jìn)化方法分享 奇魯莉安…

                  2022年11月25日
                • 規(guī)范透明促PPP高質(zhì)量發(fā)展——16萬(wàn)億元大市場(chǎng)迎來(lái)新規(guī)

                  近日,財(cái)政部印發(fā)《關(guān)于進(jìn)一步推動(dòng)政府和社會(huì)資本合作(PPP)規(guī)范發(fā)展、陽(yáng)光運(yùn)行的通知》,從做好項(xiàng)目前期論證、推動(dòng)項(xiàng)目規(guī)范運(yùn)作、嚴(yán)防隱性債務(wù)風(fēng)險(xiǎn)、保障項(xiàng)目陽(yáng)光運(yùn)行四個(gè)方面進(jìn)一步規(guī)范P…

                  2022年11月25日
                • 上手Reno8 Pro體驗(yàn)跨屏互聯(lián) 實(shí)在太方便!

                  11月已經(jīng)來(lái)到了月底,在手機(jī)品牌又要推出新一年度的新品手機(jī)之前,我們來(lái)點(diǎn)評(píng)一下今年令人驚喜的產(chǎn)品。如OPPO的Reno8 Pro系列,該系列搭載雙芯影像配置獲得了很多消費(fèi)者的認(rèn)可?!?/p>

                  2022年11月25日
                • 推薦3種白手起家的賺錢項(xiàng)目(白手起家賺錢項(xiàng)目有哪些)

                  如今社會(huì)壓力非常的大,家有老少要養(yǎng)活,這些都加速了窮人想要?jiǎng)?chuàng)業(yè)的欲望,但是創(chuàng)業(yè)路總是那么的艱難,資金就是創(chuàng)業(yè)的重頭戲,所以選擇一個(gè)低成本又賺錢的項(xiàng)目是大多數(shù)人最期望的了,那么有哪些…

                  2022年11月25日

                聯(lián)系我們

                聯(lián)系郵箱:admin#wlmqw.com
                工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息