javascript
【SpringBoot】@springbootapplication 注解讲解
文章目錄
- 注解說明:
- @**SpringBootApplication** :
- @**SpringBootConfiguration**:
- @**EnableAutoConfiguration**:
在開啟一個springboot項目的時候,我們首先看到的就是項目主程序入口: package com.example.demo1;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplication public class Demo1Application {public static void main(String[] args) {SpringApplication.run(Demo1Application.class, args);}}
注解說明:
@SpringBootApplication :
標注在某個類上說明這個類是SpringBoot的主配置類,SpringBoot就應該運行這個類的main方法來啟動SpringBoot應用;
為什么這里是 @SpringBootApplication呢,這是因為為了方便。啟動springboot同樣需要很多的注解,比較重要的幾個如下:
@SpringBootConfiguration // 繼承了Configuration,表示當前是注解類
@EnableAutoConfiguration // 開啟springboot的注解功能,springboot的四大神器之一
@ComponentScan(excludeFilters // 掃描路徑設置(具體使用待確認)
也就是說:如果我們使用上面的注解啟動我們啟動類,整個SpringBoot應用依然可以與之前的啟動類功能對等:代碼如下
@Configuration @EnableAutoConfiguration @ComponentScan public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);} }我們使用idea的默認快捷鍵ctrl +B,打開@SpringBootApplication 注解的內容。可以發現,注解中包含我們剛才說的 幾個重要的注解:
package org.springframework.boot.autoconfigure;import java.lang.annotation.Documented; import java.lang.annotation.ElementType; import java.lang.annotation.Inherited; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target; import org.springframework.boot.SpringBootConfiguration; import org.springframework.boot.context.TypeExcludeFilter; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.FilterType; import org.springframework.context.annotation.ComponentScan.Filter; import org.springframework.core.annotation.AliasFor;@Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented @Inherited @SpringBootConfiguration @EnableAutoConfiguration @ComponentScan(excludeFilters = {@Filter(type = FilterType.CUSTOM,classes = {TypeExcludeFilter.class} ), @Filter(type = FilterType.CUSTOM,classes = {AutoConfigurationExcludeFilter.class} )} ) public @interface SpringBootApplication {// 內容省略 }@SpringBootConfiguration:
標注在某個類上,表示這是一個Spring Boot的配置類;
對比:眾所周知, @Configuration 是spring 的注解:@Configuration標注在某個類上,表示這是spring的配置類,當然,配置類也是一個容器中的組件,為此凡是寫@Configuration注解的類上面也要寫上@Component
@EnableAutoConfiguration:
開啟自動配置功能;
以前我們需要配置的東西,Spring Boot幫我們自動配置;@EnableAutoConfiguration告訴SpringBoot開啟自動配置功能;這樣自動配置才能生效;
總結
以上是生活随笔為你收集整理的【SpringBoot】@springbootapplication 注解讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 好玩的网格三维模型
- 下一篇: HTML5期末大作业:家乡网站设计——我