淺談SpringBoot優(yōu)化技巧
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置。通過(guò)這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開(kāi)發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。
Bean優(yōu)化
1.當(dāng)使用@SpringBootApplication會(huì)默認(rèn)注冊(cè)pom文件中擁有的為bean
默認(rèn)情況下自動(dòng)獲取應(yīng)用配置信息,會(huì)加載一些不需要的beans 增加cpu消耗 beanNames個(gè)數(shù):261 堆內(nèi)存:150-220M
2.使用@Configuration和@EnableAutoConfiguration
beanNames個(gè)數(shù):158
3.使用【不建議使用】
使用mvn spring-boot:run -Ddebug 根據(jù)提示的需要裝配的,然后使用@import方式配置,只用裝配30個(gè)左右組件就能啟動(dòng) 注解解釋: @EnableAutoConfiguration會(huì)自動(dòng)加載可能需要的配置信息 在知道需要的beans的情況下,可以使用@Import方式去配置
4.生產(chǎn)環(huán)境下禁止xml校驗(yàn)
繼承XmlWebApplicationContext復(fù)寫(xiě)init 在web.xml文件中配置 <context-param> <param-name>contextClass</param-name> <param-value>com.example.CustomXmlWebApplicationContext</param-value> </context-param>
5.減少自動(dòng)掃描,盡量使用配置形式,減少初始化掃描時(shí)間
6.使用延遲初始化的bean 【Using Lazy-Initialized Beans】
lazy-init屬性為true spring初始化bean就能立即發(fā)現(xiàn)其錯(cuò)誤,并進(jìn)行錯(cuò)誤處理,造成的負(fù)面效應(yīng)增加了應(yīng)用程序的加 載時(shí)間
優(yōu)化方案:
【jvisualvm】 1.不適用默認(rèn)方式,采用第二種減少注冊(cè)bean數(shù)量,項(xiàng)目中需要 的bean,采用注解方式在配置類中注冊(cè)。 2.tomcat8,新特性8.5.6 Servlet 3.1、JSP 2.3、EL 3.0 Servlet 3.1實(shí)現(xiàn)了非阻塞式的I/O通信,性能得到 巨大的改進(jìn)
以上就是本文關(guān)于springboot的介紹和優(yōu)化的全部?jī)?nèi)容,希望對(duì)大家有所幫助。
相關(guān)文章
springboot使用mybatis開(kāi)啟事務(wù)回滾
本文主要介紹了springboot使用mybatis開(kāi)啟事務(wù)回滾,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02cascade級(jí)聯(lián)關(guān)系操作案例詳解
這篇文章主要介紹了cascade級(jí)聯(lián)關(guān)系,主要包括級(jí)聯(lián)保存,級(jí)聯(lián)修改,級(jí)聯(lián)刪除案例,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07JMeter連接Mysql數(shù)據(jù)庫(kù)的實(shí)現(xiàn)步驟
本文主要介紹了JMeter操作Mysql數(shù)據(jù)庫(kù),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12關(guān)于Java?float和double精度范圍大小
這篇文章主要介紹了關(guān)于Java?float和double精度范圍大小,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12在RedHat系統(tǒng)上安裝JDK與Tomcat的步驟
這篇文章主要介紹了在RedHat系統(tǒng)上安裝Java與Tomcat的步驟,同樣適用于CentOS等RedHat系的Linux系統(tǒng),需要的朋友可以參考下2015-11-11使用spring框架實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)處理方式
這篇文章主要介紹了使用spring框架實(shí)現(xiàn)數(shù)據(jù)庫(kù)事務(wù)處理方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10