What is SpringBoot?
源自官網:
https://spring.io/projects/spring-boot
視頻觀看效果更佳~~~戳
史上最詳細的SpringBoot
https://www.ixigua.com/6824729668344611340
Spring Boot使開發獨立的,產品級別的基于Spring的應用 變得非常簡單,你只需"just run";
我們為Spring平臺及第三方庫提供開箱即用的設置,這樣你就可以有條不紊地開始,多數Spring Boot應用需要很少的Spring配置;
特性:
- 創建獨立的Spring應用程序;
- 直接嵌入Tomcat,Jetty或Undertow(無需部署WAR文件);
- 提供自以為是的“starter”依賴項,以簡化構建配置;
- 盡可能自動配置Spring和3rd Party庫;
- 提供可用于生產環境的功能,例如指標,運行狀況檢查和外部化配置;
- 完全沒有代碼生成,也不需要XML配置;
Github:https://github.com/spring-projects/spring-boot
通過Spring Boot,你可以輕松創建具有基于Spring的生產級應用程序和服務,而不必花太多功夫,SpringBoot是基于SpringFramework框架的,以便于新老用戶都能快速上手。你可以使用Spring Boot創建獨立的JAVA應用程序,然后通過java -jar運行,或者創建web項目,通過WAR部署啟動,同時SpringBoot還提供了運行Spring腳本的命令行工具;
SpringBoot的主要目標是:
- 為所有Spring開發提供根本上更快速的入門開發體驗(開發更快更方便);
- 開箱即用,隨著需求的變化,SpringBoot幫我們解決了很多常見的問題,比如快速集成其他組件;
- 提供一系列大型項目通用的非功能性功能(例如嵌入式服務器,安全性,性能指標,運行狀況檢查,外部化配置)完全沒有代碼生成,也不需要XML配置;
總結一下就是:Spring家族推出springboot框架就是為了簡化spring的配置與開發,使得在基于Spring框架的開發中開發起來更快速更方便,簡化或減少相關的配置,提高開發效率;
SpringBoot開發環境
1、Spring Boot目前分為兩大版本系列, 1.x系列和2.x系列,目前 Spring Boot 最新正式版為2.3.1.RELEASE;
2、如果是使用eclipse開發,推薦安裝 Spring Tool Suite (STS) 插件;
3、如果使用 IDEA 旗艦版,自帶了SpringBoot插件;
4、推薦使用Java8,Spring boot1.x系列的版本兼容Java6,Spring boot2.x系列需要至少Java8;
5、Springboot2.X推薦使用 Maven 3.3+,太低的Maven版本會報錯,Maven目前最新版本為 3.6.3;http://maven.Apache.org
SpringBoot Java Application
如何修改啟動的logo日志:
在src/main/resources放入banner.txt文件
將新的logo文字粘貼到banner.txt文件中即可;
在 Spring Boot 框架中,要創建一個純Java程序:
方式一:
1、SpringBoot開發純Java程序,應該采用如下的起步依賴:
2、直接在main方法中,根據SpringApplication.run()方法獲取返回的Spring容器對象,再獲取業務bean進行調用;
方式二:
1、SpringBoot開發純Java程序,應該采用如下的起步依賴:
2、Spring boot 的入口類實現CommandLineRunner接口;
3、覆蓋CommandLineRunner接口的run()方法,run方法中編寫具體的處理邏輯即可;
從SpringMVC到SpringBoot
我們通過一個案例,學習和掌握SpringBoot的開發;
創建SpringBoot項目
方式一:
采用IDEA 自帶的插件創建 或者 使用eclipse的Spring Tool Suite (STS) 插件創建;(url路徑有兩個選擇)
Spring官方:https://start.spring.io/
阿里云:https://start.aliyun.com/
方式二:
直接使用 Maven 創建項目的方式創建,然后手動添加依賴;(無網絡的情況下)
Springboot項目結構及Maven依賴
也是一個標準的maven結構,多了一個前端模板技術的static和template文件夾;
SpringBoot項目使用JSP
在Spring boot中使用jsp,按如下步驟進行:
1、在pom.xml文件中配置依賴項
2、在application.properties文件配置spring mvc的視圖展示為jsp:
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
3、在src/main 下創建一個webapp目錄,然后在該目錄下新建jsp頁面
4、Maven的pom.xml中配置頁面編譯位置
SpringBoot集成MyBatis
Spring boot 集成 MyBatis的步驟如下:
1、在pom.xml中配置相關jar依賴;
2、在Springboot的核心配置文件application.properties中配置數據源:
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.MySQL.cj.jdbc.Driver
spring.datasource.url=jdbc:mysql://192.168.172.128:3306/workdb?
serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&useSSL=false
3、通過mybatis反向工程生成mapper接口和model類;
4、在MyBatis的Mapper接口中添加@Mapper注解;
或者 在運行的主類上添加
@MapperScan("com.bjpowernode.mapper") 注解包掃描;
5、接下來就是按照ssm框架的方式編寫代碼即可;
注意:Idea當你從其他地方粘貼一個文件過來的時候,它往往是不編譯的,需要手動編譯;
SpringBoot增刪改查
和原來的Ssm項目開發一致;
SpringBoot項目熱部署插件
熱部署是指當我們修改代碼后,服務能自動重啟加載新修改的內容,這樣大大提高了我們開發的效率;
Spring boot熱部署通過添加一個插件實現;
插件為:spring-boot-devtools,在Maven中配置如下:
該熱部署插件在實際使用中會有一些小問題,特別是分布式開發,比如dubbo開發框架,有點問題,需要手動重啟;
Idea之JRebel熱部署插件
Jrebel是一個收費插件,需要破解,該插件可以實現熱部署,具體破解可以參考網上的一些方法:
1、首先生成一個GUID,可以用該網址生成:https://www.guidgen.com/
2、用該網址
https://jrebel.qekang.com/ + 生成的 GUID 激活;
例如:
https://jrebel.qekang.com/0b2e2ca8-6dde-47a9-b9da-f74c7e5bcff2
3、在Idea中設置為離線模式,來防止失效;
File -> Settings -> JRebel -> [Work offline] 按鈕點一下;