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
1
2
3
4
|
默認(rèn)情況下自動(dòng)獲取應(yīng)用配置信息,會(huì)加載一些不需要的beans 增加cpu消耗 beanNames個(gè)數(shù):261 堆內(nèi)存:150-220M |
2.使用@Configuration和@EnableAutoConfiguration
1
|
beanNames個(gè)數(shù):158 |
3.使用【不建議使用】
1
2
3
4
|
使用mvn spring-boot:run -Ddebug 根據(jù)提示的需要裝配的,然后使用@import方式配置,只用裝配30個(gè)左右組件就能啟動(dòng) 注解解釋?zhuān)?/code> @EnableAutoConfiguration會(huì)自動(dòng)加載可能需要的配置信息 在知道需要的beans的情況下,可以使用@Import方式去配置 |
4.生產(chǎn)環(huán)境下禁止xml校驗(yàn)
1
2
3
4
5
6
|
繼承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】
1
2
|
lazy-init屬性為true spring初始化bean就能立即發(fā)現(xiàn)其錯(cuò)誤,并進(jìn)行錯(cuò)誤處理,造成的負(fù)面效應(yīng)增加了應(yīng)用程序的加 載時(shí)間 |
優(yōu)化方案:
1
2
3
4
5
6
7
|
【jvisualvm】 1.不適用默認(rèn)方式,采用第二種減少注冊(cè)bean數(shù)量,項(xiàng)目中需要 的bean,采用注解方式在配置類(lèi)中注冊(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ì)大家有所幫助。
原文鏈接:https://www.2cto.com/kf/201612/577501.html