zoukankan      html  css  js  c++  java
  • sts4 集成 springboot 和 activiti5

    建立 springboot项目

    勾选mysql web等

    添加activiti的jar的pom坐标

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <parent>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>2.4.4</version>
            <relativePath/> <!-- lookup parent from repository -->
        </parent>
        <groupId>cn.taoao</groupId>
        <artifactId>demo_activiti</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <name>demo_activiti</name>
        <description>demo_activiti</description>
        <properties>
            <java.version>1.8</java.version>
        </properties>
        <dependencies>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-data-jdbc</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-web</artifactId>
            </dependency>
    
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-devtools</artifactId>
                <scope>runtime</scope>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>mysql</groupId>
                <artifactId>mysql-connector-java</artifactId>
                <scope>runtime</scope>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.projectlombok</groupId>
                <artifactId>lombok</artifactId>
                <optional>true</optional>
            </dependency>
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-starter-test</artifactId>
                <scope>test</scope>
            </dependency>
            
            <!-- user define-->
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid-spring-boot-starter</artifactId>
                <version>1.2.4</version>
            </dependency>
            
             <dependency>
                <groupId>org.mybatis.spring.boot</groupId>
                <artifactId>mybatis-spring-boot-starter</artifactId>
                <version>2.1.4</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.activiti/activiti-engine -->
            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-engine</artifactId>
                <version>5.22.0</version>
            </dependency>
            <!-- https://mvnrepository.com/artifact/org.activiti/activiti-spring -->
            <dependency>
                <groupId>org.activiti</groupId>
                <artifactId>activiti-spring</artifactId>
                <version>5.23.0</version>
            </dependency>
            
        </dependencies>
    
        <build>
            <plugins>
                <plugin>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-maven-plugin</artifactId>
                    <configuration>
                        <excludes>
                            <exclude>
                                <groupId>org.projectlombok</groupId>
                                <artifactId>lombok</artifactId>
                            </exclude>
                        </excludes>
                    </configuration>
                </plugin>
            </plugins>
        </build>
    
    </project>

    然后在src/main/resource 下建立 activiti.cfg.xml 文件

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xmlns:p="http://www.springframework.org/schema/p"
        xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd">
      
      
      
      <bean id="processEngineConfiguration" class="org.activiti.engine.impl.cfg.StandaloneProcessEngineConfiguration">
          <property name="jdbcDriver" value="com.mysql.cj.jdbc.Driver"></property>
          <property name="jdbcUrl" value="jdbc:mysql://localhost:3306/activiti_demo"></property>
          <property name="jdbcUsername" value="root"></property>
          <property name="jdbcPassword" value="xxxxx"></property>
       
          <property name="databaseSchemaUpdate" value="true"></property>
      </bean>      
    </beans>

    这时,代码若没有提示property的属性,可以安装sts spring ide插件,e4.18,可以通过about 

     e4.18版本号,通过以下获得

     勾选自动存图片功能

    建立测试类

        @Test
        void initTable() {
            ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
            System.out.println(processEngine);
        }

    即可产生所需的25张表。


    另外,因为导入mysql和spring jdbc ,可能会产生报错,需要配一下数据源

    建立application.yml 文件。然后,配置druid数据源。

     可以手写数据源

    @Test
        void initTables() {
            DriverManagerDataSource ds = new DriverManagerDataSource();
            ds.setDriverClassName("com.mysql.cj.jdbc.Driver");
            ds.setUrl("jdbc:mysql://localhost:3306/activiti_demo");
            ds.setUsername("root");
            ds.setPassword("xxxxx");
            
            ProcessEngineConfiguration pec = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
            pec.setDataSource(ds);
            pec.setDatabaseSchemaUpdate("true");
            pec.buildProcessEngine();
            
            System.out.println(pec);
        }

    因为已经引入了druid数据源,可以在test文件中,直接引用

        @Autowired
        private DruidDataSource datasource;
        
        @Test
        void initTables2() {
            ProcessEngineConfiguration pec = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
            pec.setDataSource(datasource);
            pec.setDatabaseSchemaUpdate("true");
            pec.buildProcessEngine();
                    
            System.out.println(pec);
        }

    在测试的时候,只要鼠标定位在 void initTables2 这里,就可以单独执行这个test,如果定位在空行,或者注释上,会执行其他和所有的test。

  • 相关阅读:
    测试
    vue项目中使用 SheetJS / js-xlsx 导入文件
    vue项目中使用 SheetJS / js-xlsx 导出文件
    vue项目中使用canvas
    uniapp中mqtt的基本使用
    uniapp中vuex的基本使用
    uniapp如何在当前页面获取上个页面的变量、方法
    “微信小程序从分享卡片进入,第一次获取不到用户uid、第二次能获取到用户uid”解决方法
    vue-router的安装和使用
    vue-cli的安装步骤
  • 原文地址:https://www.cnblogs.com/sdgtxuyong/p/14606374.html
Copyright © 2011-2022 走看看