Springcloud學習筆記36--Springboot 項目maven 常用依賴和application.yml配置


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,SpringBoot會為我們自動配置一個DataSource,這種自動配置的方式一般適用於測試,開發還是自己配置一個DataSource的實例比較好。
如果我們的工程只依賴一個數據庫,那么,使用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是項目需要依賴jar包的原因:因為編譯時要用它的注解.
lombok是插件的原因是他要在編譯器編譯時通過操作AST(抽象語法樹)改變字節碼生成.也就是說他可以 改變java語法. 他不像spring的依賴注入或者hibernate的orm一樣是運行時的特性,而是編譯時的特性.
        <!--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

參考文獻:
https://www.jianshu.com/p/2093dd0168b9
https://blog.csdn.net/qq_35812160/article/details/78241340


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM