nutz-spring-boot-starter 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
nutz-spring-boot-starter 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
nutz-spring-boot-starter 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
nutz-spring-boot-starter 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
nutz-spring-boot-starter 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Java
操作系统 跨平台
软件类型 开源软件
所属分类 Web应用开发Web框架
开源组织
地区 国产
提 交 者 Kerbores
适用人群 未知
收录时间 2020-01-18

软件简介

概述

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

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
发表于大前端专区
2020/02/05 08:55

nutz-spring-boot-starter 2.2.4.RELEASE 发布

nutz-spring-boot-starter 2.2.4.RELEASE发布了,主要包含以下更新内容: spring-boot版本升级至 2.2.4.RELEASE 删除部分标注过期的方法 添加通用service相关方法注释内容 用新的API进行demo改造 最新版本maven坐标如下: <dependency>   <groupId>org.nutz</groupId>   <artifactId>nutz-spring-boot-starter</artifactId>   <version>2.2.4.RELEASE</version> </dependency>...

0
4
发表于大前端专区
2020/01/19 09:39

nutz-spring-boot-starter 2.2.3.RELEASE 发布

nutz-spring-boot-starter 2.2.3.RELEASE发布了,可以直接从maven中央库下载使用,坐标如下: <dependency>   <groupId>org.nutz</groupId>   <artifactId>nutz-spring-boot-starter</artifactId>   <version>2.2.3.RELEASE</version> </dependency> 具体使用请参照 demo spring-boot版本升级到2.2.3.RELEASE BaseService层新增一些更加语义化的方法 Sql excute(Sql sql) 执行sql语句 org.nutz.dao.entity.Entity<E> entity(Cla...

8
9
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
2018/04/03 09:48

Spring Boot--自定义Starter之spring-boot-starter-quartz

# 痛点 在Spring中使用计划任务,有两种方案可供选择:一、用Spring原生的计划任务,使用起来非常简单,只需要用到@Scheduled注解即可;二、集成Quartz来做计划任务,需要配置大量的Quartz原生类。 对于第一种来说,局限性在于不支持计划任务的集群,如果有多个计划任务的项目一起启动的话,每个JVM都会执行一遍预定时间的计划任务。对于Quartz来说,可以通过集群来保证在预定的时间点只会执行一次对应的计划任务。 这里有一个问...

0
4
发表于开发技能专区
2019/08/07 15:28

spring boot starter

spring boot stater: 原生spring boot系统包含了很多默认的starter。例如rabbit,jdbc等等。 都在spring-boot-autoconfigure中申明了。对应的spring.factories中都有相应的XXXAutoConfiguration的申明。在系统启动时候回主动去加载符合条件的Configuration完成初始化。 自动配置,基于java代码的bean配置,通过@Configuration,@Bean这两个注解一起使用可以创建一个基于java代码的配置,替代相应的xml配置。 在XXXAutoConfigurat...

0
0
发表了博客
2020/10/16 08:51

spring-boot-starter-web与spring-boot-starter-webflux区别

目录 区别 区别 对于servlet堆栈应用程序,spring-boot-starter-web通过包含spring-boot-starter-tomcat来包括Tomcat,但是可以改用spring-boot-starter-jetty或spring-boot-starter-undertow。 对于反应堆应用程序,spring-boot-starter-webflux通过包含spring-boot-starter-reactor-netty来包含Reactor Netty,但是我们可以使用spring-boot-starter-tomcat,spring-boot-starter-jetty或spring -boot-starter-undertow代替。 ...

0
0
2020/01/11 23:31

[Spring Boot] 自定义 Spring Boot Starter

[Spring Boot] 自定义 Spring Boot Starter 简介 在了解了Spring Boot的自动装配原理后,我们来实现一个Spring Boot常见的Starter项目 准备工作summer-boot-hello-starter 定义申明自动装配配置类Starter 定义申明编写测试项目总结更多 手机用户请横屏获取最佳阅读体验,REFERENCES中是本文参考的链接,如需要链接和更多资源,可以关注其他博客发布地址。 平台 地址 CSDN https://blog.csdn.net/sinat_28690417 简书 https://ww...

0
0
发表于开发技能专区
2018/11/29 18:31

spring boot starter

推荐

0
0
发表了博客
2019/05/28 09:40

Spring Boot 自定义 starter

>文章首发于微信公众号《程序员果果》 >地址:https://mp.weixin.qq.com/s/F_1j-ng49QNlbj04Q9bqFQ ## 一、简介 SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入springboot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能。即使是这样,springboot也不能囊括我们所有的使用场景,往往我们需要自定义starter,来简化我们对springboot的使用。 ## 二、如何自...

0
0
发表了博客
2019/03/20 11:48

Spring Boot 自定义 starter

##一、简介 SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入springboot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应的功能。即使是这样,springboot也不能囊括我们所有的使用场景,往往我们需要自定义starter,来简化我们对springboot的使用。 ##二、如何自定义starter ###1.实例 ####如何编写自动配置 ? 我们参照@WebMvcAutoConfiguration为例,我们看看们需...

0
0
发表了博客
2019/04/08 10:29

spring-boot-starter-parent 与 spring-boot-dependencies

Spring Boot的每个发布版本都会规划它所支持的依赖项。实际上,你不用指定这些依赖项的版本号,因为Spring Boot都为你管理好了。当更新Spring Boot时,会相应的更新依赖。 Maven管理依赖 Maven用户可以继承spring-boot-starter-parent项目,来获取最佳依赖。这个父项目提供了以下几个功能: 默认Java 1.6编译 UTF-8编码格式 依赖管理部分,可让你对公共依赖省略version标签。继承自spring-boot-dependencies POM。 良好的资源过...

0
0
发表了博客
2018/04/09 11:30

Spring Boot Starter列表

转自:http://blog.sina.com.cn/s/blog_798f713f0102wiy5.html Spring Boot Starter 基本的一共有43种,具体如下: 1)spring-boot-starter   这是Spring Boot的核心启动器,包含了自动配置、日志和YAML。 2)spring-boot-starter-amqp   通过spring-rabbit来支持AMQP协议(Advanced Message Queuing Protocol)。 3)spring-boot-starter-aop   支持面向方面的编程即AOP,包括spring-aop和AspectJ。 4)spring-boot-sta...

0
0
发表了博客
2018/07/04 22:06

spring boot starter是什么

参考自:https://www.cnblogs.com/EasonJim/p/7615801.html Spring Boot中Starter是什么 比如我们要在Spring Boot中引入Web MVC的支持时,我们通常会引入这个模块spring-boot-starter-web,而这个模块如果解压包出来会发现里面什么都没有,只定义了一些POM依赖。 经过研究,Starter主要用来简化依赖用的。比如我们之前做MVC时要引入日志组件,那么需要去找到log4j的版本,然后引入,现在有了Starter之后,直接用这个之后,log4j...

0
1
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
8 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部