01-初識springboot

目錄

 

01,什麼是springboot

02,如何使用springboot


01,什麼是springboot

      springboot是一個基於spring框架開發出來的一個新的框架,目的是爲了簡化spring應用開發,springboot中集成了很多開發所需 要的組件。

02,如何使用springboot

     A:環境準備:這裏使用的是本人的環境。

           eclipse

           maven3.3.3

           jdk1.8

          springboot1.5.10

  B:創建一個maven項目

           

       此處需要導入maven項目的父項目,通俗的來說就是springboot版本。本次使用的項目版本springboot1.5.10。需要注意的一點就是springboot2.0及以上需要的jdk環境在1.8版本以上。

 

注:如果在圓圈中的jdk不是我們對應的版本,這是需要我們指定版本,在springboot項目的pom文件中寫入:

 <properties>
  	<java.version>1.8</java.version>
  </properties>

C:導入啓動器

      springboot根據不同的開發需求提供了不同的啓動器。比如用於web開發的啓動器,用於email開發的啓動器,用於緩存開發的啓動器。這些啓動器,本質就是一堆架包的集合。

我們點入pom,就會看到一堆架包集合的座標,比如點入web啓動器的pom。

本次使用的啓動器是

spring-boot-starter-web

在springboot項目中寫入web啓動器

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
</dependencies>

寫入好之後,我們更新項目,maven將會自動幫助我們下載開發web所需的jar包。如下圖所示。

疑問:爲什麼啓動器不需要寫版本號呢?

    之前說過,springboot是一堆jar的集合,而web啓動器是springboot用於開發web的一個架包集合,在這個父項目的pom文件中以前將開發web的各種架包版本號確定了,我們無需再寫啓動器的版本號。下圖爲點入web啓動器的pom文件。

注意1:如果需要將springboot項目打包成一個可編譯的jar文件,只需要到springboot項目的pom文件加入一個build就可以了。

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

本次就不用打包成一個jar包到本地了,直接在eclipse上運行。

D:編寫主程序類(入口類)

       springboot需要我們編寫一個主程序類來說明該項目是一個springboot項目。該主程序類需要在類名上添加一個名爲@SpringBootApplication,該註解標註該類是springboot的主配置類。

@SpringBootApplication
public class App {
	public static void main(String[] args) {
		SpringApplication.run(App.class, args);
	}
}

       通過給@SpringBootApplication註解,可以在使用spring功能的時候,可以實現自動配置。通過點擊進入該註解,該註解內部如下所示:

@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註解表示給類是springboot的配置類,在點入該註解會發現一個註解:@tConfiguration,這個註解就是spring底層的配置類,給註解可以替換spring的配置文件,這也說明了springboot無需配置spring配置文件。

        @EnableAutoConfiguration註解:該註解表示開啓自動配置功能。

創建一個springboot項目的時候,我們直接通過開啓啓動類就可以在瀏覽器訪問項目,在沒有配置springMVC,Spring就可以訪問控制器,實現這個功能的註解就是@EnableAutoConfiguration。

我們點入該註解:

@AutoConfigurationPackage 
@Import(EnableAutoConfigurationImportSelector.class) 
public @interface EnableAutoConfiguration {

@AutoConfigurationPackage註解:自動配置包,通過該註解,將該主程序類同級或者子包下的類自動配置到spring容器。我們進入該註解:

會發現一個註解@Import(AutoConfifigurationPackages.Registrar.class)該註解是一個spring的底層註解,用來給spring容器導入組件。

E:編寫控制器

springboot項目無需配置springmvc就可使用springmvc的功能,之前大致的實現功能已經介紹完畢了。現在直接寫一個控制器:

@Controller
public class AppController {
	@ResponseBody
	@RequestMapping("/show")
   public String show(){
	   return "你好!世界";
   }}

之前也有說過,在自動配置時,掃描自動配置包的原理是掃描主程序類同級類或者子包下的類,如果控制器所在位置不滿足這個要求,自動配置掃描器將掃描不到該控制器。

F:測試

     在選擇主程序類或主程序界面右擊>>RUN>>java application啓動springboot項目,在瀏覽器打入訪問路徑:http://localhost:8080/show

訪問結果如下:

G:總結

瞭解到springboot自動配置和自動配置掃描器的掃描規則!!!!!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章