《SpringBoot2.X心法總綱》 html
(本篇博客已於2019-08-28優化更新)java
聲明:該博客主要是Springboot1.X和Springboot2.X集成Activiti5.22版本,並說一下兩個版本的搭建不一樣的地方node
技術:Springboot2.0.3+mysql+jpa(自動生成25張表)+Activiti5.22 /而後Springboot1.5.9從新集成一下mysql
Git地址:簡單集成activiti地址git
版本2.0.X,沒有測試2.1.X,你們能夠試一下。web
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <scope>runtime</scope> </dependency> <!--activiti--> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring-boot-starter-basic</artifactId> <version>5.22.0</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-spring</artifactId> <version>5.22.0</version> </dependency> <dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.5</version> </dependency> <dependency> <groupId>org.activiti</groupId> <artifactId>activiti-modeler</artifactId> <version>5.22.0</version> </dependency> <!--jpa--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> </dependencies>
#整合Activit spring: jpa: hibernate: ddl-auto: update # first:create table ,next :update table database: MYSQL #整合JPA show-sql: true activiti: check-process-definitions: false datasource: url: jdbc:mysql://192.138.3.15:3306/testMdxl?useUnicode=true&characterEncoding=utf-8&autoReconnect=true&useSSL=false username: password: driver-class-name: com.mysql.jdbc.Driver maxActive: 20 initialSize: 1 maxWait: 60000 minIdle: 1 testWhileIdle: true security: user: name: user password: 1234
就是下載activiti的框架,而後從裏面拿出部分代碼做爲本身項目的一部分全的。spring
碼雲地址==》點擊 三個java文件,一個public文件夾,還有一個json文件:三部分。sql
import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.node.ObjectNode; import org.activiti.editor.constants.ModelDataJsonConstants; import org.activiti.engine.ProcessEngine; import org.activiti.engine.ProcessEngines; import org.activiti.engine.RepositoryService; import org.activiti.engine.repository.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; /** * Created by mujiuitan on 2018/12/17. */ @RestController @RequestMapping(value = "/activiti") public class ActivitiController { //建立模型,這個模型數據寫死,主要是沒有前臺技術支持啊 @RequestMapping("/create") public void create(HttpServletRequest request, HttpServletResponse response) { try { ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine(); RepositoryService repositoryService = processEngine.getRepositoryService(); ObjectMapper objectMapper = new ObjectMapper(); ObjectNode editorNode = objectMapper.createObjectNode(); editorNode.put("id", "canvas"); editorNode.put("resourceId", "canvas"); ObjectNode stencilSetNode = objectMapper.createObjectNode(); stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#"); editorNode.put("stencilset", stencilSetNode); Model modelData = repositoryService.newModel(); ObjectNode modelObjectNode = objectMapper.createObjectNode(); modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, "hello1111"); modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, 1); String description = "hello1111"; modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description); modelData.setMetaInfo(modelObjectNode.toString()); modelData.setName("hello1111"); modelData.setKey("12313123"); //保存模型 repositoryService.saveModel(modelData); repositoryService.addModelEditorSource(modelData.getId(), editorNode.toString().getBytes("utf-8")); response.sendRedirect(request.getContextPath() + "/modeler.html?modelId=" + modelData.getId()); } catch (Exception e) { System.out.println("建立模型失敗:"); } } }
@EnableAutoConfiguration(exclude = { //org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class, org.activiti.spring.boot.SecurityAutoConfiguration.class })
訪問路徑:http://localhost:8080/activiti/createjson
剛開始訪問的時候會有一個彈框:提供用戶名和密碼,剛剛在配置文件已經寫了,user和1234填寫這兩個就行了。canvas
而後生成的25張表,我記憶裏好像是21張,至於多出來不知道哈,用Jpa實現的。
不一樣版本Springboot1.X集成Activiti5.22 的不一樣之處,在配置文件中,Springboot1.X就不用寫下面的配置,也不會有彈框
security: user: name: user password: 1234
7.2 在啓動類,Springboot1.X須要多添加一個類
@EnableAutoConfiguration(exclude = { org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class, org.activiti.spring.boot.SecurityAutoConfiguration.class })
org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class 這個類在Springboot2.X已經註釋了,由於版本升級已經找不到這個類了,可是1.X還有,把這個加上就不會有彈框出現讓填寫用戶名和密碼了。
結束,感謝!