目錄
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自動配置和自動配置掃描器的掃描規則!!!!!