1.Pom文件依賴
打開mvnrepository倉庫:https://mvnrepository.com/,輸入spring-boot-starter-web
1.1 springboot 進行統一的版本管理
通過標簽<parent>:
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.6.RELEASE</version> </parent>
在后面在進行引入依賴的時候,就寫作為如下方式:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <!--<version>2.1.6.RELEASE 已經統一指定</version>--> </dependency>
以上的這種統一版本的管理是spring boot默認的方式。
1.2 構建web項目模塊
核心作用:快速web應用開發
為了幫我們簡化快速搭建並開發一個Web項目,Spring boot為我們提供了spring-boot-starter-web自動配置模塊。
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <version>2.1.6.RELEASE</version> </dependency>
spring-boot-starter-web默認為我們提供一些SpringMVC必要的組件。
spring-boot-starter-web默認使用嵌入式的tomcat作為web容器對外提供HTTP服務。
1.3. Nacos實現服務注冊和發現
注意:實際使用時,需要啟動本地單機版nacos,具體見 https://www.cnblogs.com/luckyplj/p/15175191.html
<!--nacos--> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> <version>2.1.0.RELEASE</version> </dependency>
1.4.JDBC驅動包
mysql-connector-java 是MySQL的JDBC驅動包,用JDBC連接MySQL數據庫時必須使用該jar包。
<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.13</version> </dependency>
1.5.數據庫連接配置
如果我們的工程只依賴一個數據庫,那么,使用DataSource自動配置模塊提供的參數是最方便的:
spring.datasource.url=jdbc:mysql://{datasource host}:3306/{databaseName}
spring.datasource.username={database username}
spring.datasource.passwd={database passwd}
對應的maven 依賴:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-jdbc</artifactId> </dependency>
1.6.mybatisPlus
Mybatis-Plus是一個Mybatis的增強工具,只是在Mybatis的基礎上做了增強卻不做改變,MyBatis-Plus支持所有Mybatis原生的特性,所以引入Mybatis-Plus不會對現有的Mybatis構架產生任何影。Mybatis-Plus又簡稱(MP)是為簡化開發,提高開發效率而生.
<!-- mybatisPlus 核心庫 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-boot-starter</artifactId> <version>3.2.0</version> </dependency> <!-- 添加 代碼生成器 依賴 --> <dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-generator</artifactId> <version>3.2.0</version> </dependency> <!--模板引擎(mybatis-plus自動生成代碼需要模板)--> <dependency> <groupId>org.freemarker</groupId> <artifactId>freemarker</artifactId> <version>2.3.28</version> </dependency>
Mybatis-plus代碼生成器具體使用參考:https://www.cnblogs.com/luckyplj/p/15166224.html
Mybatis-plus操作數據庫進行增刪改查具體參考:https://www.cnblogs.com/luckyplj/p/15421975.html
1.7.數據庫連接池
Druid是Java語言中最好的數據庫連接池。Druid能夠提供強大的監控和擴展功能。
阿里 Druid為SpringBoot 提供專門的start依賴,Mybatis 使用 Druid 相對比較簡單,我們只需要引入 Druid 的starter 依賴並添加相關的一些配置即可。
<dependency> <groupId>com.alibaba</groupId> <artifactId>druid</artifactId> <version>1.1.24</version> </dependency> <!--druid-spring-boot-starter只是在druid基礎上進行了一次封裝,專門用來整合spring-boot項目--> <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.24</version> </dependency>
1.8.lombok
lombok既是一個IDE插件,也是一個項目要依賴的jar包.
<!--Lombok能通過注解的方式,在編譯時自動為屬性生成構造器、getter/setter、equals、hashcode、toString方法--> <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.18.20</version> </dependency>
1.9 commons-io
Apache Commons IO是由Apache Foundation創建和維護的Java庫。 它提供了許多類,使開發人員可以輕松地完成常見任務,並且減少樣板代碼。
commons-io是一款處理io流的工具庫,封裝了很多處理io流和文件的方法,可以大大簡化我們處理io流和操作文件的代碼.
API鏈接:http://commons.apache.org/proper/commons-io/apidocs/index.html
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.11.0</version> </dependency>
1.10 commons-lang3
Apache Commons Lang是Apache最著名的JAVA庫 (GitHub上的代碼庫),它是對java.lang的很好擴展,包含了大量非常實用的工具類,其中用的最多的有StringUtils,DateUtils,NumberUtils等。
(1)commons-lang3和commons-lang的區別
lang3是Apache Commons 團隊發布的工具包,要求jdk版本在1.5以上,相對於lang來說完全支持java5的特性,廢除了一些舊的API。該版本無法兼容舊有版本,於是為了避免沖突改名為lang3。lang包可以說是廢棄了,以后請不要使用。采用lang3直接代替即可。
其中用的最多的有StringUtils,DateUtils,NumberUtils、ArrayUtils等。
<dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.4</version> </dependency>
2. application.yml文件常用配置
#application.yml為基本配置文件 server: port: 7010 mybatis-plus: # xml掃描,多個目錄用逗號或者分號分隔(告訴 Mapper 所對應的 XML 文件位置) mapper-locations: classpath*:mapper/**/*Mapper.xml # 以下配置均有默認值,可以不設置 global-config: db-config: logic-not-delete-value: 1 logic-delete-value: 0 configuration: # 是否開啟自動駝峰命名規則映射:從數據庫列名到Java屬性駝峰命名的類似映射 map-underscore-to-camel-case: true # 這個配置會將執行的sql打印出來,在開發或測試的時候可以用 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl auto-mapping-behavior: full spring: datasource: type: com.alibaba.druid.pool.DruidDataSource url: jdbc:mysql://localhost:3306/day1?serverTimezone=Asia/Shanghai&useSSL=false username: root password: plj824 driver-class-name: com.mysql.cj.jdbc.Driver #druid連接池配置 druid: #初始化連接大小 initial-size: 5 #最大連接池數量 max-active: 20 #最小連接池數量 min-idle: 3 #配置獲取連接等待超時時間,單位毫秒 max-wait: 60000 #配置間隔多久才進行一次檢查看,檢查需要關閉的空閑連接,單位毫秒 time-between-eviction-runs-millis: 60000 #配置一個連接在池中最小的生存時間,單位毫秒 min-evictable-idle-time-millis: 300000 validation-query: select 'x' #建議配置為true,不影響性能,並且保證安全性,申請連接的時候檢測 test-while-idle: true #獲取連接時執行檢測,建議關閉,影響性能 test-on-borrow: false #歸還連接時執行檢測,建議關閉,影響性能 test-on-return: false #檢測連接是否有效的超時時間 validation-query-timeout: 10
參考文獻: