1. Spring boot介紹
本部分摘自:https://www.zhihu.com/question/64671972/answer/223383505
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。用我的話來理解,就是spring boot其實不是什麼新的框架,它預設配置了很多框架的使用方式,就像maven整合了所有的jar包,spring boot整合了所有的框架(不知道這樣比喻是否合適)。
Spring 框架就像一個家族,有眾多衍生產品例如 boot、security、jpa等等。但他們的基礎都是Spring 的 ioc和 aop ioc 提供了依賴注入的容器 aop ,解決了面向橫切面的程式設計,然後在此兩者的基礎上實現了其他延伸產品的高階功能。Spring MVC是基於 Servlet 的一個 MVC 框架 主要解決 WEB 開發的問題,因為 Spring 的配置非常複雜,各種XML、 JavaConfig、hin處理起來比較繁瑣。於是為了簡化開發者的使用,從而創造性地推出了Spring boot,約定優於配置,簡化了spring的配置流程。
說得更簡便一些:Spring 最初利用“工廠模式”(DI)和“代理模式”(AOP)解耦應用元件。大家覺得挺好用,於是按照這種模式搞了一個 MVC框架(一些用Spring 解耦的元件),用開發 web 應用( SpringMVC )。然後有發現每次開發都寫很多樣板程式碼,為了簡化工作流程,於是開發出了一些“懶人整合包”(starter),這套就是 Spring Boot。
所以,用最簡練的語言概括就是:Spring 是一個“引擎”;Spring MVC 是基於Spring的一個 MVC 框架 ;Spring Boot 是基於Spring4的條件註冊的一套快速開發整合包。
2.建立Spring boot專案
IDEA+MySql+Freemark+JDK1.8
1.開啟idea
2.直接選擇第一個Create New Project即可! 進入以下介面,注意的是我們也可以使用它的預設網站進行生成,網址就是http://start.spring.io。選中點選next即可。
3.點選next進入的是以下介面:
4.點選next進入下一介面,在這裡我們就是對專案進行一系列的設定,可以勾上web,mybatis,mysql(這個看你個人需要吧,可以自主選擇)
5.點選next進入下一介面,並點選finish
6.專案建立完畢,然後進行一些必要的設定操作,主要是maven倉庫以及資料庫連線池等配置
7.配置maven倉庫,這裡也可以使用預設的maven倉庫,建議一個專案使用一個maven倉庫,以免不同專案之間jar包的衝突
8.application.yml的設定(專案建成時這個application檔案的字尾名不叫yml,是官方推薦把字尾改成yml的,好處是程式碼有提示)
mybatis:
mapper-locations: classpath:mapper/*.xml
type-aliases-package: com.tswc.edu.entity
spring:
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/edu?useUnicode=true&characterEncoding=utf8
username: root
password: 123456
initialSize: 1
minIdle: 3
maxActive: 20
# 配置獲取連線等待超時的時間
maxWait: 60000
# 配置間隔多久才進行一次檢測,檢測需要關閉的空閒連線,單位是毫秒
timeBetweenEvictionRunsMillis: 60000
# 配置一個連線在池中最小生存的時間,單位是毫秒
minEvictableIdleTimeMillis: 30000
validationQuery: select 'x'
testWhileIdle: true
testOnBorrow: false
testOnReturn: false
# 開啟PSCache,並且指定每個連線上PSCache的大小
poolPreparedStatements: true
maxPoolPreparedStatementPerConnectionSize: 20
# 配置監控統計攔截的filters,去掉後監控介面sql無法統計,'wall'用於防火牆
filters: stat,wall,slf4j
# 通過connectProperties屬性來開啟mergeSql功能;慢SQL記錄
connectionProperties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=5000
# 合併多個DruidDataSource的監控資料
#useGlobalDataSourceStat: true
複製程式碼
9.最終專案結構
10.啟動成功