当前位置: 首页 > 软件库 > Web应用开发 > Web框架 >

nutz-spring-boot-starter

Nutz 的 Spring Boot 启动器
授权协议 Apache
开发语言 Java
所属分类 Web应用开发、 Web框架
软件类型 开源软件
地区 国产
投 递 者 苏君昊
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

概述

nutz-spring-boot-starter 是提供在 spring-boot 环境下使用 nutz 相关功能的插件,使用 spring-boot auto configuration 机制实现,引入 jar 即可使用。so easy!!!

功能

提供在spring-boot环境下使用Nutz的一组启动器,包含但不限于以下功能:

  • nutz-dao集成
    • 自动注入nutz-dao
    • 提供nutz-dao的sqlmanager支持
    • 提供nutz-dao的sqltpl支持
    • 提供自动DDL的支持
    • BaseService支持
  • nutz-json支持
  • nutz.cn 内网穿透福利ngrok的支持

开始使用

使用之前请确保熟悉使用 spring-boot 进行项目开发,本文档仅限于 nutz-spring-boot-starter 插件的相关描述,如有 spring-boot 相关问题请查阅 https://spring.io/projects/spring-boot 

依赖添加

nutz-spring-boot-starter release 版本已发布至 maven 中央仓库,使用 maven 进行依赖管理请添加如下依赖信息:

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

snapshot 版本发布至 https://jfrog.nutz.cn/artifactory/snapshots, 如需使用请添加如下仓库设置内容:

<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>

使用其他依赖管理工具请根据 maven 配置进行调整。

使用 dao

引入 jar 包在配置了数据源的前提下将自动注入 Dao 对象,nutz-dao 的具体使用请参考 https://www.nutzam.com

配置

使用过程中可以对 nutz-dao 的自动建表和变更、自定义 sql 和 sql template 相关信息进行定制化配置,具体参照下文详细说明。

自动建表

自动建表和变更是 nutz 提供的自动 ddl 功能,解决在开发过程中数据表频繁表更导致代码和数据库定义的频繁更改问题。因可能进行字段删除等相关操作导致数据丢失,建议在生成环境禁用相关功能。相关配置项目详细说明如下:

nutz:
  dao:
    runtime:
      create: true #是否自动建表 默认true
      migration: true #是否自动变更 默认true
      add-column: true # 是否添加列 默认true
      delete-column: true # 是否删除列 默认true
      foce-create: false # 是否删表重建,注意此功能会删除全部表及数据,一般应用于demo或测试 默认false
      check-index: true # 是否检查索引 默认true
      basepackage: # 相关实体所在包
        - org.nutz.demo.bean

根据 nutz 官方描述,相关包下配置了@Table 注解的实体均会自动创建表,自动建表有以下局限性:

  • 不生成外键,我们也不推荐用外键
  • 只能解决一般建表需求,复杂的表结构请通过自定义 sql 完成
  • 由于 spring-boot 资源扫描原因,如打包后使用需要在包名配置前加上 BOOT-INF.classes.

自定义 sql

Nutz.Dao 提供了大多数简单的操作,在 80%以上的情况下,你并不需要编写 SQL,因为 Nutz.Dao 会自动替你 生成可以使用的 SQL。但是,在某些特殊的情况下,尤其是考虑到效率等问题,直接写作 SQL 仍然是程序员们 的一个杀手锏,有了这个杀手锏,程序员们永远可以针对任何数据库做他们想要的任何操作。

nutz-dao 默认扫描 sqls 目录下的全部.sql/.sqls/.sqlx 文件相关,自定义配置及说明如下:

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

sql template

sql template 是使用模版引擎在 nutz-dao 的自定义 sql 相关参数注入之前对原始 sql 进行处理的机制,能实现类似 mybatis 的动态 sql 效果。目前内置支持 BEETL、 FREEMARKER、JETBRICK 和 VELOCITY 四种模版引擎。

使用前需要自行引入相关模板引擎依赖,同时不提供对模板引擎本身的任何配置支持。相关配置及说明如下:

nutz:
  dao:
    sql-template:
      enable: true #是否启用 默认false
      type: beetl #模板引擎类型,默认beetl

使用 json

json 支持是使用 nutz-json 对 spring-mvc HttpMessageConverter 扩展实现对象序列化和反序列化的的功能,相关功能默认启用。

定制 json

使用过程中可以对 json 格式进行自定义,相关配置说明如下:

nutz:
  json:
    enabled: true #是否启用,默认true
    mode: compact #json模式,默认compact
    ignore-null: true # 是否忽略空对象
    compact: true # 是否启用压缩模式
    date-format: yyyy-MM-dd Hh����ss # 日期格式化
    ... #更多相关配置参照ide提示进行即可

使用 ngrok

ngrok 是由 https://nutz.cn 提供的内网穿透支持,可以用于本地项目的演示或者类似微信开发类公网接口的调试。相关配置如下:

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

支持和维护

相关技术支持请联系作者:kerbores#gmail.com

  • title: J2Cache的SpringBootのStarter tags: SpringBoot J2Cache Starter categories: springboot date: 2017-11-27 23:28:37 背景 J2Cache是OsChina的两级缓存实现框架 但是代码比较老 代码考虑也比较死板 不支持多种配置 对于多profile的实现来说也 只能使用通过Maven的p

 相关资料
  • Nutz 的 Spring Boot 启动器,包含但不仅限于以下功能: 在spring-boot下使用nutzDao 开发阶段非常便捷的自动建表自动变更等数据库处理 使用nutz的sqlManager进行sql语句的管理 使用基于泛型的BaseService完成各种数据库操作,不限于单表的CRUD,各种复杂SQL轻松应对 使用nutz-json作为spring-boot的json处理器 使用nut

  • 我有一个spring bootendpoint,它从POST请求的Http请求体中获取用户的输入,并将其持久化到MySql数据库中。 生成成功,但当我尝试使用命令运行应用程序时 它会抛出一个异常,而应用程序不会启动。 我是新的spring boot,没有发现这个例外,所以没有很多事情,我试图解决这个问题。仍在等待一个线索或方向。 以下是服务器启动时的日志文件:删除了一些不相关的日志以保持字符限制:

  • 2020-05-09 17:28:38.521信息21308---[restartedMain]O.A.C.C.C.[Tomcat].[localhost].[/]:初始化Spring embedded WebApplicationContext 2020-05-09 17:28:38.527信息21308--[restartedMain]O.s.Web.context.ContextLoader

  • 本文向大家介绍Spring Boot 启动端口如何启动,包括了Spring Boot 启动端口如何启动的使用技巧和注意事项,需要的朋友参考一下 Spring Boot 启动端口 Spring Boot 其默认是集成web容器的,启动方式由像普通Java程序一样,main函数入口启动。其内置Tomcat容器或Jetty容器,具体由配置来决定(默认Tomcat)。当然你也可以将项目打包成war包,放到

  • 启动服务器时获取错误: 通用域名格式。柯萨托德夫。图ql。工具。SchemaClassScannerError:无法将类型定义(非NullType{type=ListType{type=TypeName{name='Person'}}}})与java类型(类com.demo.graphql.entities.Person)匹配:java类不是列表或泛型类型信息丢失:类com。演示。图ql。实体。人

  • 我正在使用SpringBoot(2.3) - 我可以使用Spring jdbc DatabaseStartupValidator执行此操作吗? 仅供参考:通过docker compose启动时,应用程序会正常工作。Spring只是失败了好几次