Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/muxiangqiu/bdf3

BDF3 是基于 Spring Boot 组件化的渐进式企业级开发框架。
https://github.com/muxiangqiu/bdf3

chat dorado framework management-system microprogramming mis spring-boot spring-data spring-security

Last synced: about 2 months ago
JSON representation

BDF3 是基于 Spring Boot 组件化的渐进式企业级开发框架。

Awesome Lists containing this project

README

        

# BDF3

**BDF3 是基于 Spring Boot 组件化的渐进式企业级开发框架。** 提供一系列企业级通用模块功能,使用 BDF3 框架在业务项目,我们可以直接专注到业务功能模块的开发。

_**欢迎大家联系我们:技术交流、商业合作、共建开源等。**_

**非多租户模式:**
![演示 BDF3 框架.gif](https://i.loli.net/2020/10/01/auB1CKnjd8zOZ9w.gif)

**多租户模式:**
![演示 BDF3 框架(多租户).gif](https://i.loli.net/2020/10/01/dOht7uPsGcBzja3.gif)

## 特征

* 零配置,开箱即用。基于 Spring Boot 自动配置机制实现
* 前端界面可视化开发,基于 Dorado 展现中间件实现
* 前端组件标准化,后端开发者也能轻松开发前端
* 抽象业务通用能力,提供通用功能模块,这些通用模块开箱即用,如权限管理、多租户、工作流、报表、实时通信、公众号、微程序、云数据库管理、规则引擎、日志、菜单、认证、字典、数据导入和导出等等
* 基于角色的权限授权,权限粒度为组件级别
* 开发企业管理系统效率极高
* 多数据源智能切换、开启事务
* 多租户支持,横向无限扩展,传统项目零代码切换为多租户项目
* 提供丰富多样的主页面选择
* 功能组件化,自由选择需要的组件
* 基于 JPA 实现的极简、可读性高的结构化查询 Linq,与 Dorado 无缝集成
* 基于 Spring Security 实现的认证与授权,开箱即用

## 在线演示

* [传统风格多租户版](http://119.45.227.114:8081/bdf3.security.ui.view.Main.d)
* [实时通讯+公众号+微程序风格非多租户版](http://119.45.227.114:8080/bdf3.notice.ui.view.Chat.d)
* [方块风格非多租户版](http://119.45.227.114:8080/bdf3.security.ui.view.Portal.d)
* [传统风格非多租户版](http://119.45.227.114:8080/bdf3.security.ui.view.Main.d)

其中,公司 ID 为 master,用户名/密码为 admin/123456

## 开发文档

请使用手机扫描本文章最后的 QQ(609822297)群二维码,加群获取开发文档。

## 快速开始

BDF3 基于 Spring Boot 自动配置机制实现,做到了零配置,开箱即用,没有额外学习成本,BDF3 也提供了一系列 pom 类型的 Starter 模块,也 Spring Boot 提供的 Starter 模块类似,Starter 模块简化了 BDF3 的模块依赖管理,让项目依赖变得更为简单,好维护。

#### 第一步:初始化一个标准的 Maven 项目

创建一个标准的 Maven 项目,名称为 bdf3-sample,项目打包类型为 jar,项目的父项目指向 bdf3-starter-parent。最终生成的 pom文件如下:
```xml

4.0.0


com.bstek.bdf3
bdf3-starter-parent
1.1.0-SNAPSHOT

bdf3-sample



com.bstek.bdf3
bdf3-starter



org.springframework.boot
spring-boot-devtools
provided



com.h2database
h2





bsdn-maven-repository
http://nexus.bsdn.org/content/groups/public/

```

#### 第二步:启动类
```java
package com.bstek.bdf3.sample;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;

/**
* @author Kevin Yang (mailto:[email protected])
* @since 2016年12月10日
*/
@SpringBootApplication // Spring Boot 启动类注解
@EnableCaching // 开启缓存功能注解
public class SampleApplication {

public static void main(String[] args) throws Exception {
SpringApplication.run(SampleApplication.class, args);
}

}

```

通过以上两个步骤,一个基本的BDF3 框架的项目就搭建好了。直接运行项目的启动类(运行 main 静态方法)[示例下载](https://github.com/muxiangqiu/bdf3/blob/master/sample/bdf3-sample.zip?raw=true)。

## 数据源与 JPA 配置

在 Spring 的配置中,如下配置:

```
# 文件 application.properties
# 服务器端口设置
server.port = 8080
# 项目上下文路由
server.context-path=/bdf
# 是否打印sql语句
spring.jpa.showSql=true
#hibernate 反向创建表设置,update启动时更新表结构,create 启动时重新创建表结构,none 启动时不检查
spring.jpa.hibernate.ddl-auto=update
# Spring Boot 热部署设置,添加以下文件匹配规则,改动不重启。
spring.devtools.restart.additional-exclude=com/**
#数据库脚本的编码设置为 UTF-8
spring.datasource.sql-script-encoding=UTF-8

# 数据源配置,pom 中需要引入对应的数据库 jdbc 依赖,以下使用 mysql 数据库为例
spring.datasource.continue-on-error=true
spring.datasource.url=jdbc:mysql://localhost:3306/bdf3
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
# 如果数据库为非嵌入式数据库,这个属性第一次启动的时候一定要设置为ALWAYS,用于初始化数据,初始化好后,可以关闭,也可以不关闭,有自己决定
spring.datasource.initialization-mode=ALWAYS
```

## Spring Boot 文档教程

[Spring Boot 文档教程](https://projects.spring.io/spring-boot/#quick-start)

## 交流群