Skip to content

基于Spring Boot,Spring MVC,Spring Data 的企业Web应用快速开发开发框架。A rapid development framework based on Spring Boot, Spring MVC and Spring Data for enterprise

License

Notifications You must be signed in to change notification settings

swiftech/swiftboot

Repository files navigation

SwiftBoot

A lightweight rapid development framework based on Spring Boot, Spring MVC and Spring Data for enterprise

基于 Spring Boot,Spring MVC,Spring Data 的企业Web应用快速开发框架。

为什么要有 SwiftBoot

  • 虽然用 SpringBoot 搭建框架进行开发已经简化了很多配置的工作,但是对于大多数中小型的项目来说来,还是有一些重复性的工作。
  • 开源社区中已经有很多快速开发框架,它们功能很多但是太过于臃肿并且侵入性很强。
  • SwiftBoot 采用一种折中的理念,它并不会覆盖到开发的方方面面,但是它提供必要的和常见的功能支持,以减少重复性的工作和提高开发质量。

特性

  • 开箱即用,只需要很少的配置即可使用,用更少的代码完成更多的工作。
  • 无侵入性,你可以只使用其中的一部分功能,也可以随时去掉它或者切换为别的框架。
  • 统一的接口格式(JSON)和错误代码,默认采用前后端分离。
  • 接口的返回值对象,实体对象自动填充。
  • 自动验证输入参数并自动转换为统一的返回格式。
  • 主键ID自动生成,字段自动填充机制。
  • 提供常见的服务(例如 Redis服务,用户认证等等),减少不必要的重复开发工作,关注核心业务逻辑。
  • 提供基本的用户认证(基于 Redis),可用于 Web 和移动应用的用户认证。
  • 提供基于 Shiro 框架的用户认证和授权,简化 Shiro 框架的使用。
  • 表格数据模版化导入导出,支持 Excel, CSV。
  • 企业 Web 开发常用的工具类和集合类。

模块

基础模块:
扩展模块:
Demo:
  • swiftboot-demo:演示项目,可以作为脚手架快速搭建新项目

版本

Stable: v2.3.1
  • [utils] Add CalcUtils for calculating.
  • [utils] Add support for Reader to IoUtils.
  • [utils] Add readAllAsString() method to BufferedIoUtils.
  • [collections] Improve the CollectionUtils.toLinkedList() method.
  • Dependencies update:
    • SpringBoot 2.7.12
    • SpringDataJPA 2.7.9
    • Hibernate 5.6.14.Final
    • Jedis 4.3.1
    • Poi 5.2.3
    • JSON 20220320
    • etc.
Unstable: v2.4.7

v2.4.7

  • [utils] add getPreferenceAlias() methods to PreferenceManager for migrating preferences.

完整更新记录

概览

  • 入参自动填充

    • 从接口的 Command 对象创建 Entity 实例并自动填充传递进来的值:
    OrderEntity p = orderCommand.createEntity();
    orderRepository.save(p);
    • 编辑实体对象时调用 populateEntity() 方法,此实体类一对一、一对多关联的实体类(集合)也会被自动创建和填充 :
    orderEntity.getDetails().clear();
    orderCommand.populateEntity(orderEntity);
    orderRepository.save(p);

一对一,一对多关联的实体类(集合)也会被自动创建和填充 详细参考: swiftboot-web

  • 从 Entity 实例创建返回值对象并自动填充值:

    OrderResult r = OrderResult.createResult(OrderResult.class, orderEntity);

    一对一或一对多关联的实体类(集合)也会自动填充返回值对象的关联类(集合) 详细参考: swiftboot-web

  • 字段自动填充

    • ID 自动填充,创建 Entity 实例时无需调用生成器生成 ID,SwiftBoot 会自动创建并填充。
    • 全局 ID 生成器,生成如 order20191231000850307uxplsioasi 的长度为 32 字节的全局ID,比 UUID 有更好的插入性能且易于识别出所对应的业务对象以及创建时间。
    • 保存实体类时创建时间和修改时间自动填充。

详细参考: swiftboot-data

  • 认证和授权:

    • 如果仅需要认证机制,那么集成 swiftboot-auth 模块
    • 如果不仅需要认证,还需要授权,那么集成 swiftboot-shiro 模块

    两个模块不能同时启用,且他们的认证实现机制不同

About

基于Spring Boot,Spring MVC,Spring Data 的企业Web应用快速开发开发框架。A rapid development framework based on Spring Boot, Spring MVC and Spring Data for enterprise

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published