下面就是Spring Boot + Thymeleaf + Activiti快速开发平台项目的完整攻略。
项目简介
该项目是一个使用Spring Boot和Thymeleaf作为前端模板引擎,Activiti作为工作流引擎的快速开发平台项目,通过该项目可以快速搭建企业级应用程序。项目的主要功能包括:用户登陆、用户管理、角色管理、菜单权限管理、部门管理、工作流管理等。
运行环境
- JDK 1.8
- Maven 3.0+
- MySQL 5.5+
- Spring Boot 2.0
- Thymeleaf 3.0+
- Activiti 6.0
项目目录结构
activiti-springboot-thymeleaf-platform
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── qinzy
│ │ │ └── platform
│ │ │ ├── ActivitiSpringbootThymeleafPlatformApplication.java //启动类
│ │ │ ├── config //Spring Boot配置类
│ │ │ ├── controller //控制器类
│ │ │ ├── dao //DAO层接口与实现类
│ │ │ ├── entity //持久化实体类
│ │ │ ├── exception //异常处理类
│ │ │ ├── service //服务层接口与实现类
│ │ │ └── utils //工具类
│ │ └── resources
│ │ ├── static //静态资源
│ │ └── templates //页面模板
│ └── test //测试目录
└── pom.xml //Maven配置文件
项目搭建步骤
步骤一:创建Spring Boot项目
首先,我们需要使用Spring Initializr快速创建一个Spring Boot项目:
-
打开Spring Initializr页面;
-
选择“Maven Project”为项目类型;
-
输入“Group”、“Artifact”和“Name”等基本信息;
-
选择“Spring Boot Version”并勾选上“Thymeleaf”等项目依赖;
-
点击“Generate Project”按钮生成项目文件并下载。
步骤二:添加Activiti工作流引擎
在项目的pom.xml文件中添加Activiti的依赖:
<dependency>
<groupId>org.activiti</groupId>
<artifactId>activiti-spring-boot-starter-basic</artifactId>
<version>${activiti.version}</version>
</dependency>
在application.yml配置文件中添加Activiti的配置:
spring:
activiti:
database-schema-update: true
servlet:
enabled: false
步骤三:集成Thymeleaf模板引擎
在pom.xml文件中添加Thymeleaf、Thymeleaf Layout Dialect等依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>nz.net.ultraq.thymeleaf</groupId>
<artifactId>thymeleaf-layout-dialect</artifactId>
<version>2.2.2</version>
</dependency>
在application.yml文件中添加Thymeleaf的配置项:
spring:
thymeleaf:
mode: HTML
encoding: UTF-8
cache: false
servlet:
content-type: text/html
步骤四:创建数据库及表结构
使用MySQL数据库并创建一个名为“activiti”的数据库,然后执行项目中的脚本文件“项目目录结构/src/main/resources/db.sql”创建表结构和初始数据。
步骤五:编写实体类
在entity包下创建需要持久化的实体类,如“User”、“Role”、“Permission”、“Department”等。
步骤六:编写DAO层接口和实现类
在dao包下创建需要持久化的实体类的对应的DAO层接口和实现类,如“UserDao”、“RoleDao”、“PermissionDao”、“DepartmentDao”等,用于实现数据的访问和持久化。
步骤七:编写服务层接口和实现类
在service包下创建服务层接口和实现类,如“UserService”、“RoleService”、“PermissionService”、“DepartmentService”等,用于实现具体业务逻辑。
步骤八:编写控制器类
在controller包下创建控制器类,如“UserController”、“RoleController”、“PermissionController”、“DepartmentController”等,用于接收和处理客户端提交的请求,并将其转化为具体的子服务请求。
步骤九:编写静态资源
在static目录下创建css、js、images等目录,并存放对应的静态资源文件;
步骤十:编写页面模板
在templates目录下创建需要用到的页面模板,如“index”、“login”、“user”、“role”、“department”等。
示例说明
下面简单介绍两个示例:
示例一:实现用户管理功能
-
新建一个User实体类,包含id、username、password、realname、email等字段;
-
在UserDao中编写findUserByUsernameAndPassword()方法,实现根据用户名和密码查询用户的功能;
-
在UserService中编写findUserByUsernameAndPassword()方法,调用UserDao中的findUserByUsernameAndPassword()方法,实现根据用户名和密码查询用户的功能;
-
在UserServiceImpl中实现findUserByUsernameAndPassword()方法;
-
在UserController中编写/login请求处理方法,接收客户端传递的用户名和密码数据,调用UserService中的findUserByUsernameAndPassword()方法进行验证,并返回相应的页面。
示例二:实现工作流审批功能
-
在department实体类中添加activitiGroupId字段;
-
在DepartmentDao中添加findDepartmentsByActivitiGroupId()方法,依据activitiGroupId查询部门;
-
调用flowable提供的api,编写createUser、createGroup、createMembership、createDeployment、createProcessInstance、completeTask方法,实现工作流的审批流程;
-
在对应的Controller中编写处理方法,接收前端传过来的流程相关信息,调用上一步编写的方法来启动工作流审批流程,并返回相应的页面。
源码获取
该项目源码可以在https://github.com/qinzy/activiti-springboot-thymeleaf-platform获取,直接下载并导入即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Boot + Thymeleaf + Activiti 快速开发平台项目 附源码 - Python技术站