淺談SpringBoot優(yōu)化技巧
Spring Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來簡化新Spring應(yīng)用的初始搭建以及開發(fā)過程。該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發(fā)展的快速應(yīng)用開發(fā)領(lǐng)域(rapid application development)成為領(lǐng)導(dǎo)者。
Bean優(yōu)化
1.當(dāng)使用@SpringBootApplication會(huì)默認(rèn)注冊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ù)寫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)方式,采用第二種減少注冊bean數(shù)量,項(xiàng)目中需要 的bean,采用注解方式在配置類中注冊。 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)化的全部內(nèi)容,希望對大家有所幫助。
相關(guān)文章
cascade級(jí)聯(lián)關(guān)系操作案例詳解
這篇文章主要介紹了cascade級(jí)聯(lián)關(guān)系,主要包括級(jí)聯(lián)保存,級(jí)聯(lián)修改,級(jí)聯(lián)刪除案例,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-07-07JMeter連接Mysql數(shù)據(jù)庫的實(shí)現(xiàn)步驟
本文主要介紹了JMeter操作Mysql數(shù)據(jù)庫,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12關(guān)于Java?float和double精度范圍大小
這篇文章主要介紹了關(guān)于Java?float和double精度范圍大小,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(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ù)庫事務(wù)處理方式
這篇文章主要介紹了使用spring框架實(shí)現(xiàn)數(shù)據(jù)庫事務(wù)處理方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10