Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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 组件化的渐进式企业级开发框架。
- Host: GitHub
- URL: https://github.com/muxiangqiu/bdf3
- Owner: muxiangqiu
- License: apache-2.0
- Created: 2016-09-16T13:46:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-30T20:13:18.000Z (over 2 years ago)
- Last Synced: 2023-11-07T19:20:11.436Z (about 1 year ago)
- Topics: chat, dorado, framework, management-system, microprogramming, mis, spring-boot, spring-data, spring-security
- Language: Java
- Homepage:
- Size: 25.5 MB
- Stars: 117
- Watchers: 18
- Forks: 66
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
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文件如下:
```xml4.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)
## 交流群