Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。通過這種方式,Spring Boot致力于在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
Bean優化
1.當使用@SpringBootApplication會默認注冊pom文件中擁有的為bean
1
2
3
4
|
默認情況下自動獲取應用配置信息,會加載一些不需要的beans 增加cpu消耗 beanNames個數:261 堆內存:150-220M |
2.使用@Configuration和@EnableAutoConfiguration
1
|
beanNames個數:158 |
3.使用【不建議使用】
1
2
3
4
|
使用mvn spring-boot:run -Ddebug 根據提示的需要裝配的,然后使用@import方式配置,只用裝配30個左右組件就能啟動 注解解釋: @EnableAutoConfiguration會自動加載可能需要的配置信息 在知道需要的beans的情況下,可以使用@Import方式去配置 |
4.生產環境下禁止xml校驗
1
2
3
4
5
6
|
繼承XmlWebApplicationContext復寫init 在web.xml文件中配置 <context-param> <param-name>contextClass</param-name> <param-value>com.example.CustomXmlWebApplicationContext</param-value> </context-param> |
5.減少自動掃描,盡量使用配置形式,減少初始化掃描時間
6.使用延遲初始化的bean 【Using Lazy-Initialized Beans】
1
2
|
lazy-init屬性為true spring初始化bean就能立即發現其錯誤,并進行錯誤處理,造成的負面效應增加了應用程序的加 載時間 |
優化方案:
1
2
3
4
5
6
7
|
【jvisualvm】 1.不適用默認方式,采用第二種減少注冊bean數量,項目中需要 的bean,采用注解方式在配置類中注冊。 2.tomcat8,新特性8.5.6 Servlet 3.1、JSP 2.3、EL 3.0 Servlet 3.1實現了非阻塞式的I/O通信,性能得到 巨大的改進 |
以上就是本文關于springboot的介紹和優化的全部內容,希望對大家有所幫助。
原文鏈接:https://www.2cto.com/kf/201612/577501.html