springboot的四大元件為:1、auto-configuration元件;2、starter元件;3、springboot cli元件;4、actuator元件。
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始建置以及開發流程。該框架使用了特定的方式來進行配置,使開發人員不再需要定義樣板化的配置。透過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成為領導者。
springboot的四大元件
auto-configuration:
Auto-configuration是Spring Boot的核心特性,其約定大於配置的思想,賦予了Spring Boot開箱即用的強大能力。
starter:
starter是一種非常重要的機制,能夠拋棄以前繁雜的配置,將其統一整合進starter,應用者只需要在maven中引入starter依賴,SpringBoot就能自動掃描到要載入的資訊並啟動對應的預設配置。 starter讓我們擺脫了各種依賴函式庫的處理,需要配置各種資訊的困擾。 SpringBoot會自動透過classpath路徑下的類別發現所需的Bean,並註冊進IOC容器。 SpringBoot提供了針對日常企業應用研發各種場景的spring-boot-starter依賴模組。所有這些依賴模組都遵循約定成俗的預設配置,並允許我們調整這些配置,即遵循「約定大於配置」的理念。
springboot cli
Spring Boot CLI(Command Line Interface)是一個命令列工具,您可以用它來快速建立Spring原型應用。透過Spring Boot CLI,我們可以透過編寫Groovy腳本來快速的建置出Spring Boot應用,並透過命令列的方式將其運作起來。
actuator
Actuator是Springboot提供的用來對應用系統進行自省和監控的功能模組,借助於Actuator開發者可以很方便地對應用系統某一些監控指標進行查看、統計等。
package com.gufang.annotation; import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; /** * Enable Gufang DevTool for spring boot application * * @author chen.qixiang * @version 1.0.0 * @since 1.0.0 */ @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface EnableGufangConfiguration { }
package com.gufang.boot; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import com.gufang.annotation.EnableGufangConfiguration; @Configuration @ConditionalOnBean(annotation = EnableGufangConfiguration.class) @EnableConfigurationProperties(GufangProperties.class) public class GufangConfiguration { @Autowired private GufangProperties properties; @Bean public Object createBean() { System.out.println("Gufang="+properties); return new Object(); } }
package com.gufang.boot.context.event; import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; import org.springframework.boot.context.event.ApplicationEnvironmentPreparedEvent; import org.springframework.context.ApplicationListener; import com.gufang.annotation.EnableGufangConfiguration; public class GufangBannerApplicationListener implements ApplicationListener<applicationenvironmentpreparedevent> { public static String gufangLogo = " ###################################################################################### \n" + " ######## # # ######## \n" + " ######## ######## ######### ### # # #### ##### ##### ######## \n" + " ######## # # # # # ## # # # ######## \n" + " ######## ##### ###### # # # # # # ##### ##### ######## \n" + " ######## # # # # # # # # # # # # ######## \n" + " ######## ##### # # # # # # # #### ##### # # ######## \n" + " ###################################################################################### \n" + " \n" + "\n"; public static String LINE_SEPARATOR = System.getProperty("line.separator"); @Override public void onApplicationEvent(ApplicationEnvironmentPreparedEvent event) { System.out.println(buildBannerText()); } private String buildBannerText() { StringBuilder bannerTextBuilder = new StringBuilder(); bannerTextBuilder.append(LINE_SEPARATOR).append(gufangLogo).append(" :: Gufang :: (v1.0.0)") .append(LINE_SEPARATOR); return bannerTextBuilder.toString(); } }</applicationenvironmentpreparedevent>
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.gufang.boot.GufangConfiguration org.springframework.context.ApplicationListener=\ com.gufang.boot.context.event.GufangBannerApplicationListener
provides: gufang-spring-boot-starter
更多编程相关知识,请访问:编程视频!!
以上是springboot的四大組件是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!