<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          nutz-spring-boot-starterNutz 的 Spring Boot 啟動器

          聯(lián)合創(chuàng)作 · 2023-09-20 02:55

          概述

          nutz-spring-boot-starter 是提供在 spring-boot 環(huán)境下使用 nutz 相關(guān)功能的插件,使用 spring-boot auto configuration 機制實現(xiàn),引入 jar 即可使用。so easy!?。?/p>

          功能

          提供在spring-boot環(huán)境下使用Nutz的一組啟動器,包含但不限于以下功能:

          • nutz-dao集成
            • 自動注入nutz-dao
            • 提供nutz-dao的sqlmanager支持
            • 提供nutz-dao的sqltpl支持
            • 提供自動DDL的支持
            • BaseService支持
          • nutz-json支持
          • nutz.cn 內(nèi)網(wǎng)穿透福利ngrok的支持

          開始使用

          使用之前請確保熟悉使用 spring-boot 進行項目開發(fā),本文檔僅限于 nutz-spring-boot-starter 插件的相關(guān)描述,如有 spring-boot 相關(guān)問題請查閱 https://spring.io/projects/spring-boot 。

          依賴添加

          nutz-spring-boot-starter release 版本已發(fā)布至 maven 中央倉庫,使用 maven 進行依賴管理請?zhí)砑尤缦乱蕾囆畔ⅲ?/p>

          <dependency>
          	<groupId>org.nutz</groupId>
          	<artifactId>nutz-spring-boot-starter</artifactId>
          	<version>2.2.3.RELEASE</version>
          </dependency>

          snapshot 版本發(fā)布至 https://jfrog.nutz.cn/artifactory/snapshots, 如需使用請?zhí)砑尤缦聜}庫設(shè)置內(nèi)容:

          <repositories>
          	<repository>
          		<id>nutz</id>
          		<url>https://jfrog.nutz.cn/artifactory/jcenter</url>
          	</repository>
          	<repository>
          		<id>nutz-snapshots</id>
          		<url>https://jfrog.nutz.cn/artifactory/snapshots</url>
          		<snapshots>
          			<enabled>true</enabled>
          			<updatePolicy>always</updatePolicy>
          		</snapshots>
          		<releases>
          			<enabled>false</enabled>
          		</releases>
          	</repository>
          </repositories>

          使用其他依賴管理工具請根據(jù) maven 配置進行調(diào)整。

          使用 dao

          引入 jar 包在配置了數(shù)據(jù)源的前提下將自動注入 Dao 對象,nutz-dao 的具體使用請參考 https://www.nutzam.com

          配置

          使用過程中可以對 nutz-dao 的自動建表和變更、自定義 sql 和 sql template 相關(guān)信息進行定制化配置,具體參照下文詳細說明。

          自動建表

          自動建表和變更是 nutz 提供的自動 ddl 功能,解決在開發(fā)過程中數(shù)據(jù)表頻繁表更導致代碼和數(shù)據(jù)庫定義的頻繁更改問題。因可能進行字段刪除等相關(guān)操作導致數(shù)據(jù)丟失,建議在生成環(huán)境禁用相關(guān)功能。相關(guān)配置項目詳細說明如下:

          nutz:
            dao:
              runtime:
                create: true #是否自動建表 默認true
                migration: true #是否自動變更 默認true
                add-column: true # 是否添加列 默認true
                delete-column: true # 是否刪除列 默認true
                foce-create: false # 是否刪表重建,注意此功能會刪除全部表及數(shù)據(jù),一般應用于demo或測試 默認false
                check-index: true # 是否檢查索引 默認true
                basepackage: # 相關(guān)實體所在包
                  - org.nutz.demo.bean

          根據(jù) nutz 官方描述,相關(guān)包下配置了@Table 注解的實體均會自動創(chuàng)建表,自動建表有以下局限性:

          • 不生成外鍵,我們也不推薦用外鍵
          • 只能解決一般建表需求,復雜的表結(jié)構(gòu)請通過自定義 sql 完成
          • 由于 spring-boot 資源掃描原因,如打包后使用需要在包名配置前加上 BOOT-INF.classes.

          自定義 sql

          Nutz.Dao 提供了大多數(shù)簡單的操作,在 80%以上的情況下,你并不需要編寫 SQL,因為 Nutz.Dao 會自動替你 生成可以使用的 SQL。但是,在某些特殊的情況下,尤其是考慮到效率等問題,直接寫作 SQL 仍然是程序員們 的一個殺手锏,有了這個殺手锏,程序員們永遠可以針對任何數(shù)據(jù)庫做他們想要的任何操作。

          nutz-dao 默認掃描 sqls 目錄下的全部.sql/.sqls/.sqlx 文件相關(guān),自定義配置及說明如下:

          nutz:
            dao:
              sql-manager:
                mode: file #自定義sql管理模式 file和xml
                paths: # 自定義sql文件路徑
                  - sqls

          sql template

          sql template 是使用模版引擎在 nutz-dao 的自定義 sql 相關(guān)參數(shù)注入之前對原始 sql 進行處理的機制,能實現(xiàn)類似 mybatis 的動態(tài) sql 效果。目前內(nèi)置支持 BEETL、 FREEMARKER、JETBRICK 和 VELOCITY 四種模版引擎。

          使用前需要自行引入相關(guān)模板引擎依賴,同時不提供對模板引擎本身的任何配置支持。相關(guān)配置及說明如下:

          nutz:
            dao:
              sql-template:
                enable: true #是否啟用 默認false
                type: beetl #模板引擎類型,默認beetl

          使用 json

          json 支持是使用 nutz-json 對 spring-mvc HttpMessageConverter 擴展實現(xiàn)對象序列化和反序列化的的功能,相關(guān)功能默認啟用。

          定制 json

          使用過程中可以對 json 格式進行自定義,相關(guān)配置說明如下:

          nutz:
            json:
              enabled: true #是否啟用,默認true
              mode: compact #json模式,默認compact
              ignore-null: true # 是否忽略空對象
              compact: true # 是否啟用壓縮模式
              date-format: yyyy-MM-dd Hh????ss # 日期格式化
              ... #更多相關(guān)配置參照ide提示進行即可

          使用 ngrok

          ngrok 是由 https://nutz.cn 提供的內(nèi)網(wǎng)穿透支持,可以用于本地項目的演示或者類似微信開發(fā)類公網(wǎng)接口的調(diào)試。相關(guān)配置如下:

          nutz:
            ngrok:
              port: 8080 #代理的本地端口,默認使用server.port信息
              token: abcdef #ngrok token 請到 https://nutz.cn 申請

          支持和維護

          相關(guān)技術(shù)支持請聯(lián)系作者:kerbores#gmail.com

          瀏覽 29
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          編輯 分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩免费黄色电影网站 | 五月天淫秽网站 | 亚洲成人欧美 | 杨幂久久免费区一区二区 | 日本无吗视频播放 |