一、什么是SpringBoot
描述:Spring Boot是Spring社區發布的一個開源項目,旨在幫助開發者快速並且更簡單的構建項目。大多數SpringBoot項目只需要很少的配置文件。
二、SpringBoot核心功能
1、獨立運行Spring項目
Spring boot 可以以jar包形式獨立運行,運行一個Spring Boot項目只需要通過java -jar xx.jar來運行。
2、內嵌servlet容器
Spring Boot可以選擇內嵌Tomcat、jetty或者Undertow,這樣我們無須以war包形式部署項目。
3、提供starter簡化Maven配置
spring提供了一系列的start pom來簡化Maven的依賴加載,例如,當你使用了spring-boot-starter-web,會自動加入如圖5-1所示的依賴包。
4、自動裝配Spring
SpringBoot會根據在類路徑中的jar包,類、為jar包里面的類自動配置Bean,這樣會極大地減少我們要使用的配置。當然,SpringBoot只考慮大多數的開發場景,並不是所有的場景,若在實際開發中我們需要配置Bean,而SpringBoot滅有提供支持,則可以自定義自動配置。
5、准生產的應用監控
SpringBoot提供基於http ssh telnet對運行時的項目進行監控。
6、無代碼生產和xml配置
SpringBoot不是借助與代碼生成來實現的,而是通過條件注解來實現的,這是Spring4.x提供的新特性。
三、SpringBoot優缺點
優點:
1、快速構建項目。
2、對主流開發框架的無配置集成。
3、項目可獨立運行,無須外部依賴Servlet容器。
4、提供運行時的應用監控。
5、極大的提高了開發、部署效率。
6、與雲計算的天然集成。
缺點:
1、如果你不認同spring框架,也許這就是缺點。
四、SpringBoot特性
1、創建獨立的Spring項目
2、內置Tomcat和Jetty容器
3、提供一個starter POMs來簡化Maven配置
4、提供了一系列大型項目中常見的非功能性特性,如安全、指標,健康檢測、外部配置等
5、完全沒有代碼生成和xml配置文件
五、SpringBoot快速搭建
網址:http://start.spring.io;
六、SpringBoot CLI
SpringBoot CLI 是SpringBoot提供的控制台命令工具。
七、SpringBoot maven 構建項目
spring-boot-starter-parent:是一個特殊Start,它用來提供相關的Maven依賴項,使用它之后,常用的包依賴可以省去version標簽。
八、SpringBoot幾個常用的注解
(1)@RestController和@Controller指定一個類,作為控制器的注解
(2)@RequestMapping方法級別的映射注解,這一個用過Spring MVC的小伙伴相信都很熟悉
(3)@EnableAutoConfiguration和@SpringBootApplication是類級別的注解,根據maven依賴的jar來自動猜測完成正確的spring的對應配置,只要引入了spring-boot-starter-web的依賴,默認會自動配置Spring MVC和tomcat容器
(4)@Configuration類級別的注解,一般這個注解,我們用來標識main方法所在的類,完成元數據bean的初始化。
(5)@ComponentScan類級別的注解,自動掃描加載所有的Spring組件包括Bean注入,一般用在main方法所在的類上
(6)@ImportResource類級別注解,當我們必須使用一個xml的配置時,使用@ImportResource和@Configuration來標識這個文件資源的類。
(7)@Autowired注解,一般結合@ComponentScan注解,來自動注入一個Service或Dao級別的Bean
(8)@Component類級別注解,用來標識一個組件,比如我自定了一個filter,則需要此注解標識之后,Spring Boot才會正確識別。
spring 啟動方式
CLI啟動 如:
Spring Boot 以 jar 包方式運行在后台
java -jar spring-boot01-1.0-SNAPSHOT.jar > log.file 2>&1 &
如果8080端口被占用,則:
netstat -ano|findstr 8080 taskkill /pid 2552 -f