精华内容
下载资源
问答
  • idea项目中使用URule 规则引擎的简单例子 简介 URule是一款纯Java规则引擎,它以RETE算法为基础,提供了向导式规则集、脚本式规则集、决策表、交叉决策表(PRO版提供)、决策树、评分卡及决策流共...

    如需转载分享,请标明出处,且不用于盈利为目的,谢谢合作!   

                                                            idea项目中使用URule 规则引擎的简单例子

     

    简介

    URule是一款纯Java规则引擎,它以RETE算法为基础,提供了向导式规则集、脚本式规则集、决策表、交叉决策表(PRO版提供)、决策树、评分卡及决策流共六种类型的规则定义方式,配合基于WEB的设计器,可快速实现规则的定义、维护与发布。

    URule提供了两个版本:一个是基于Apache-2.0协议开源免费版本,URule开源版本第一款基于Apache-2.0协议开源的中式规则引擎;另一个是商用PRO版本,点击http://www.bstek.com 了解更多关于URule商用Pro版更多信息。

    URULE PRO版与开源版主要功能比较

    特性

    URULE PRO版

    URULE开源版

    向导式决策集

    脚本式决策集

    决策树

    决策流

    决策表

    交叉决策表

    复杂评分卡

    文件名、项目名重构

    参数名、变量常量名重构

    Excel决策表导入

    规则集模版保存与加载

    中文项目名和文件名支持

    服务器推送知识包到客户端功能的支持

    知识包优化与压缩的支持

    客户端服务器模式下大知识包的推拉支持

    规则集中执行组的支持

    规则流中所有节点向导式条件与动作配置的支持

    循环规则多循环单元支持

    循环规则中无条件执行的支持

    导入项目自动重命名功能

    规则树构建优化

    对象查找索引支持

    规则树中短路计算的支持

    规则条件冗余计算缓存支持

    基于方案的批量场景测试功能

    知识包调用监控

    更为完善的文件读写权限控制

    知识包版本控制

    SpringBean及Java类的热部署

    技术支持

    SpringBoot项目中使用(最新版本2.1.7)

    项目结构:

    1. 在pom.xml中添加依赖:
      <dependency>
          <groupId>com.bstek.urule</groupId>
          <artifactId>urule-console</artifactId>
          <version>2.1.7</version>
      </dependency>

       

    2. 在yml中添加:
      server:
        port: 9999
      urule:
        repository:
          dir: d:/urulerepo

       

    3. 启动类上添加:
      @SpringBootApplication
      @ImportResource({"classpath:urule-console-context.xml"})

       

    4. IndexServlet类
      package com.bdqn.cn.config;
      
      import com.bdqn.cn.entity.Customer;
      import com.bstek.urule.ClassUtils;
      
      import javax.servlet.ServletException;
      import javax.servlet.http.HttpServlet;
      import javax.servlet.http.HttpServletRequest;
      import javax.servlet.http.HttpServletResponse;
      import java.io.File;
      import java.io.IOException;
      
      /**
       * @author sunhao
       * @since 
       */
      public class IndexServlet extends HttpServlet {
         private static final long serialVersionUID = 9155627652423910928L;
      
         @Override
         protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
            resp.sendRedirect(req.getContextPath()+"/urule/frame");
         }
         public static void main(String[] args) {
            File file=new File("d:/customer.xml");
            ClassUtils.classToXml(Customer.class, file);
         }
      }

       

    5. PropertiesConfiguration类
      package com.bdqn.cn.config;
      
      import com.bstek.urule.URulePropertyPlaceholderConfigurer;
      import org.springframework.beans.factory.InitializingBean;
      
      import java.util.Properties;
      
      /**
       * @author sunhao
       * @since
       */
      //@Component
      public class PropertiesConfiguration extends URulePropertyPlaceholderConfigurer implements InitializingBean {
         @Override
         public void afterPropertiesSet() throws Exception {
            Properties props=new Properties();
            props.setProperty("urule.repository.xml", "classpath:mysql.xml");  
            setProperties(props);
         }
      }

       

    6. URuleServletRegistration类
      package com.bdqn.cn.config;
      
      import com.bdqn.cn.test.MethodTest;
      import com.bstek.urule.console.servlet.URuleServlet;
      import org.springframework.boot.web.servlet.ServletRegistrationBean;
      import org.springframework.context.annotation.Bean;
      import org.springframework.stereotype.Component;
      
      import javax.servlet.http.HttpServlet;
      
      /**
       * @author sunhao
       * @since
       */
      @Component
      public class URuleServletRegistration {
         @Bean
         public ServletRegistrationBean<HttpServlet> registerURuleServlet(){
            return new ServletRegistrationBean<HttpServlet>(new URuleServlet(),"/urule/*");
         }
         @Bean
         public ServletRegistrationBean<HttpServlet> registerIndexServlet(){
            return new ServletRegistrationBean<HttpServlet>(new IndexServlet(),"/");
         }
         @Bean
         public MethodTest methodTest(){
            return new MethodTest();
         }
      }

       

    7. Customer类
      package com.bdqn.cn.entity;
      
      import com.bstek.urule.model.Label;
      import lombok.Data;
      
      import java.util.Date;
      
      @Data
      public class Customer {
         @Label("名称")
         private String name;
         @Label("年龄")
         private int age;
         @Label("出生日期")
         private Date birthday;
         @Label("等级")
         private int level;
         @Label("手机号")
         private String mobile;
         @Label("性别")
         private boolean gender;
         @Label("是否有车")
         private boolean car;
         @Label("婚否")
         private boolean married;
         @Label("是否有房")
         private boolean house;
      }

       

    8. MethodTest类
      package com.bdqn.cn.test;
      
      import java.text.SimpleDateFormat;
      import java.util.Date;
      
      import com.bdqn.cn.entity.Customer;
      import com.bstek.urule.action.ActionId;
      import com.bstek.urule.model.ExposeAction;
      /**
       * @author sunhao
       */
      public class MethodTest {
         @ActionId("helloKey")
         public String hello(String username){
            System.out.println("hello "+username);
            return "hello"+username;
         }
         @ExposeAction("方法1")
         public boolean evalTest(String username){
            if(username==null){
               return false;
            }else if(username.equals("张三")){
               return true;
            }
            return false;
         }
      
         @ExposeAction("测试Int")
         public int testInt(int a,int b){
            return a+b;
         }
         public int testInteger(Integer a,int b){
            return a+b*10;
         }
      
         @ExposeAction("打印内容")
         public void printContent(String username,Date birthday){
            SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            if(birthday!=null){
               System.out.println(username+"今年已经"+sd.format(birthday)+"岁了!");
            }else{
               System.out.println("Hello "+username+"");
            }
         }
         @ExposeAction("打印Member")
         public void printUser(Customer m){
            System.out.println("Hello "+m.getName()+", has house:"+m.isHouse());
         }
      }

       

    9. 运行访问UI地址
      http://localhost:9999/urule/frame 

      附: d盘下的customer.xml

    <?xml version="1.0" encoding="utf-8"?>
    
    <variables clazz="com.bdqn.cn.entity.Customer">
      <variable name="age" label="年龄" type="Integer" act="InOut"/>
      <variable name="birthday" label="出生日期" type="Date" act="InOut"/>
      <variable name="car" label="是否有车" type="Boolean" act="InOut"/>
      <variable name="gender" label="性别" type="Boolean" act="InOut"/>
      <variable name="house" label="是否有房" type="Boolean" act="InOut"/>
      <variable name="level" label="等级" type="Integer" act="InOut"/>
      <variable name="married" label="婚否" type="Boolean" act="InOut"/>
      <variable name="mobile" label="手机号" type="String" act="InOut"/>
      <variable name="name" label="名称" type="String" act="InOut"/>
    </variables>
    

     

    展开全文
  • 使用Idea创建gardle项目

    2020-10-27 20:35:48
    版本 IntelliJ IDEA 2019.3 gradle-6.6.1 JDK1.8 准备工作 jdk1.8 java -version gradle gradle -v 步骤

    版本

    IntelliJ IDEA 2019.1

    gradle-6.6.1

    JDK1.8

    准备工作

    • jdk1.8

      java -version
      

      在这里插入图片描述

    • gradle

      gradle -v
      

    在这里插入图片描述

    步骤

    在这里插入图片描述
    在这里插入图片描述
    然后去设置gradle
    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    展示gradle设置页面
    在这里插入图片描述

    如此一来,我们只需要在项目的main文件夹下面下个demo就可验证了。
    在这里插入图片描述
    在这里插入图片描述

    展开全文
  • 待完成 spring-boot-demo-uflo spring-boot 集成 uflo 快速实现轻量级流程引擎 待完成 spring-boot-demo-urule spring-boot 集成 urule 快速实现规则引擎 待完成 spring-boot-demo-activiti spring-boot 集成 ...

    网上关于SpringBoot的学习资料很多,但是真正能对SpringBoot底层原理进行学习并且可以实战的资料真的很难找!!!今天就为大家推荐一款GitHub上很多fork很多star的SpringBoot项目,项目名称为spring-boot-demo。

    项目简介

    spring-boot-demo是一个用来深入学习并实战SpringBoot的项目,目前总共包含66个集成demo,已经完成54个,每个集成demo都有完整的代码和模块简介,并且作者还在不断更新中。

    该项目已经成功集成的demo:

    • actuator(监控)

    • admin(可视化监控)

    • logback(日志)

    • aopLog(通过AOP记录web请求日志)

    • 统一异常处理(json级别和页面级别)

    • freemarker(模板引擎)

    • thymeleaf(模板引擎)

    • Beetl(模板引擎)

    • Enjoy(模板引擎)

    • JdbcTemplate(通用JDBC操作数据库)

    • JPA(强大的ORM框架)

    • mybatis(强大的ORM框架)

    • 通用Mapper(快速操作Mybatis)

    • PageHelper(通用的Mybatis分页插件)

    • mybatis-plus(快速操作Mybatis)

    • BeetlSQL(强大的ORM框架)

    • upload(本地文件上传和七牛云文件上传)

    • redis(缓存)

    • ehcache(缓存)

    • email(发送各种类型邮件)

    • task(基础定时任务)

    • quartz(动态管理定时任务)

    • xxl-job(分布式定时任务)

    • swagger(API接口管理测试)

    • security(基于RBAC的动态权限认证)

    • SpringSession(Session共享)

    • Zookeeper(结合AOP实现分布式锁)

    • RabbitMQ(消息队列)

    • Kafka(消息队列)

    • websocket(服务端推送监控服务器运行信息)

    • socket.io(聊天室)

    • ureport2(中国式报表)

    • 打包成war文件

    • 集成 ElasticSearch(基本操作和高级查询)

    • Async(异步任务)

    • 集成Dubbo(采用官方的starter)

    • MongoDB(文档数据库)

    • neo4j(图数据库)

    • docker(容器化)

    • JPA多数据源

    • Mybatis多数据源

    • 代码生成器

    • GrayLog(日志收集)

    • JustAuth(第三方登录)

    • LDAP(增删改查)

    • 动态添加/切换数据源

    • 单机限流(AOP + Guava RateLimiter)

    • 分布式限流(AOP + Redis + Lua)

    • ElasticSearch 7.x(使用官方 Rest High Level Client)

    • HTTPS

    • Flyway(数据库初始化)

    开发环境

    • JDK 1.8 +

    • Maven 3.5 +

    • IntelliJ IDEA ULTIMATE 2018.2 + (注意:务必使用 IDEA 开发,同时保证安装 lombok 插件)

    • Mysql 5.7 + (尽量保证使用 5.7 版本以上,因为 5.7 版本加了一些新特性,同时不向下兼容。本 demo 里会尽量避免这种不兼容的地方,但还是建议尽量保证 5.7 版本以上)

    各模块介绍

    Module 名称Module 介绍
    spring-boot-demo-helloworldspring-boot 的一个 helloworld
    spring-boot-demo-propertiesspring-boot 读取配置文件中的内容
    spring-boot-demo-actuatorspring-boot 集成 spring-boot-starter-actuator 用于监控 spring-boot 的启动和运行状态
    spring-boot-demo-admin-clientspring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,客户端示例
    spring-boot-demo-admin-serverspring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,服务端示例
    spring-boot-demo-logbackspring-boot 集成 logback 日志
    spring-boot-demo-log-aopspring-boot 使用 AOP 切面的方式记录 web 请求日志
    spring-boot-demo-exception-handlerspring-boot 统一异常处理,包括2种,第一种返回统一的 json 格式,第二种统一跳转到异常页面
    spring-boot-demo-template-freemarkerspring-boot 集成 Freemarker 模板引擎
    spring-boot-demo-template-thymeleafspring-boot 集成 Thymeleaf 模板引擎
    spring-boot-demo-template-beetlspring-boot 集成 Beetl 模板引擎
    spring-boot-demo-template-enjoyspring-boot 集成 Enjoy 模板引擎
    spring-boot-demo-orm-jdbctemplatespring-boot 集成 Jdbc Template 操作数据库,并简易封装通用 Dao 层
    spring-boot-demo-orm-jpaspring-boot 集成 spring-boot-starter-data-jpa 操作数据库
    spring-boot-demo-orm-mybatisspring-boot 集成原生mybatis,使用 mybatis-spring-boot-starter 集成
    spring-boot-demo-orm-mybatis-mapper-pagespring-boot 集成通用Mapper和PageHelper,使用 mapper-spring-boot-starter 和 pagehelper-spring-boot-starter 集成
    spring-boot-demo-orm-mybatis-plusspring-boot 集成 mybatis-plus,使用 mybatis-plus-boot-starter 集成,集成 BaseMapper、BaseService、ActiveRecord 操作数据库
    spring-boot-demo-orm-beetlsqlspring-boot 集成 beetl-sql,使用 beetl-framework-starter 集成
    spring-boot-demo-uploadspring-boot 文件上传示例,包含本地文件上传以及七牛云文件上传
    spring-boot-demo-cache-redisspring-boot 整合 redis,操作redis中的数据,并使用redis缓存数据
    spring-boot-demo-cache-ehcachespring-boot 整合 ehcache,使用 ehcache 缓存数据
    spring-boot-demo-emailspring-boot 整合 email,包括发送简单文本邮件、HTML邮件(包括模板HTML邮件)、附件邮件、静态资源邮件
    spring-boot-demo-taskspring-boot 快速实现定时任务
    spring-boot-demo-task-quartzspring-boot 整合 quartz,并实现对定时任务的管理,包括新增定时任务,删除定时任务,暂停定时任务,恢复定时任务,修改定时任务启动时间,以及定时任务列表查询,提供前端页面
    spring-boot-demo-task-xxl-jobspring-boot 整合xxl-job,并提供绕过 xxl-job-admin 对定时任务的管理的方法,包括定时任务列表,触发器列表,新增定时任务,删除定时任务,停止定时任务,启动定时任务,修改定时任务,手动触发定时任务
    spring-boot-demo-swaggerspring-boot 集成原生的 swagger 用于统一管理、测试 API 接口
    spring-boot-demo-swagger-beautyspring-boot 集成第三方 swagger swagger-bootstrap-ui 美化API文档样式,用于统一管理、测试 API 接口
    spring-boot-demo-rbac-securityspring-boot 集成 spring security 完成基于RBAC权限模型的权限管理,支持自定义过滤请求,动态权限认证,使用 JWT 安全认证,支持在线人数统计,手动踢出用户等操作
    spring-boot-demo-rbac-shirospring-boot 集成 shiro 实现权限管理
    待完成
    spring-boot-demo-sessionspring-boot 集成 Spring Session 实现Session共享、重启程序Session不失效
    spring-boot-demo-oauthspring-boot 实现 oauth 服务器功能,实现授权码机制
    待完成
    spring-boot-demo-socialspring-boot 集成第三方登录,集成 justauth-spring-boot-starter 实现QQ登录、GitHub登录、微信登录、谷歌登录、微软登录、小米登录、企业微信登录。
    spring-boot-demo-zookeeperspring-boot 集成 Zookeeper 结合AOP实现分布式锁
    spring-boot-demo-mq-rabbitmqspring-boot 集成 RabbitMQ 实现基于直接队列模式、分列模式、主题模式、延迟队列的消息发送和接收
    spring-boot-demo-mq-rocketmqspring-boot 集成 RocketMQ,实现消息的发送和接收
    待完成
    spring-boot-demo-mq-kafkaspring-boot 集成 kafka,实现消息的发送和接收
    spring-boot-demo-websocketspring-boot 集成 websocket,后端主动推送前端服务器运行信息
    spring-boot-demo-websocket-socketiospring-boot 使用 netty-socketio 集成 websocket,实现一个简单的聊天室
    spring-boot-demo-ureport2spring-boot 集成 ureport2 实现复杂的自定义的中国式报表
    待完成
    spring-boot-demo-uflospring-boot 集成 uflo 快速实现轻量级流程引擎
    待完成
    spring-boot-demo-urulespring-boot 集成 urule 快速实现规则引擎
    待完成
    spring-boot-demo-activitispring-boot 集成 activiti 7  流程引擎
    待完成
    spring-boot-demo-asyncspring-boot 使用原生提供的异步任务支持,实现异步执行任务
    spring-boot-demo-warspring-boot 打成 war 包的配置
    spring-boot-demo-elasticsearchspring-boot 集成 ElasticSearch,集成 spring-boot-starter-data-elasticsearch 完成对 ElasticSearch 的高级使用技巧,包括创建索引、配置映射、删除索引、增删改查基本操作、复杂查询、高级查询、聚合查询等
    spring-boot-demo-dubbospring-boot 集成 Dubbo,分别为公共模块 spring-boot-demo-dubbo-common、服务提供方spring-boot-demo-dubbo-provider、服务调用方spring-boot-demo-dubbo-consumer
    spring-boot-demo-mongodbspring-boot 集成 MongoDB,使用官方的 starter 实现增删改查
    spring-boot-demo-neo4jspring-boot 集成 Neo4j 图数据库,实现一个校园人物关系网的demo
    spring-boot-demo-dockerspring-boot 容器化
    spring-boot-demo-multi-datasource-jpaspring-boot 使用JPA集成多数据源
    spring-boot-demo-multi-datasource-mybatisspring-boot 使用Mybatis集成多数据源,使用 Mybatis-Plus 提供的开源解决方案实现
    spring-boot-demo-sharding-jdbcspring-boot 使用 sharding-jdbc 实现分库分表,同时ORM采用 Mybatis-Plus
    spring-boot-demo-tiospring-boot 集成 tio 网络编程框架
    待完成
    spring-boot-demo-grpcspring-boot 集成grpc,配置tls/ssl,参见ISSUE#5
    待完成
    spring-boot-demo-codegenspring-boot 集成 velocity 模板技术实现的代码生成器,简化开发
    spring-boot-demo-graylogspring-boot 集成 graylog 实现日志统一收集
    spring-boot-demo-ssospring-boot 集成 SSO 单点登录,参见 ISSUE#12
    待完成
    spring-boot-demo-ldapspring-boot 集成 LDAP,集成 spring-boot-starter-data-ldap 完成对 Ldap 的基本 CURD操作, 并给出以登录为实战的 API 示例,参见 ISSUE#23,感谢 @fxbin
    spring-boot-demo-dynamic-datasourcespring-boot 动态添加数据源、动态切换数据源
    spring-boot-demo-ratelimit-guavaspring-boot 使用 Guava RateLimiter 实现单机版限流,保护 API
    spring-boot-demo-ratelimit-redisspring-boot 使用 Redis + Lua 脚本实现分布式限流,保护 API
    spring-boot-demo-httpsspring-boot 集成 HTTPS
    spring-boot-demo-elasticsearch-rest-high-level-clientspring boot 集成 ElasticSearch 7.x 版本,使用官方 Rest High Level Client 操作 ES 数据
    spring-boot-demo-flywayspring boot 集成 Flyway,项目启动时初始化数据库表结构,同时支持数据库脚本版本控制

    特别方便的是每个demo都有详细的知识点介绍和完整的代码可以学习,例如spring-boot 集成 graylog 用来实现日志统一收集的spring-boot-demo-graylog模块,除了基本的环境准备、pom文件、application配置文件等的详细介绍之外,还有demo如何运行、运行成功的配图教学,简直是手把手教你学SpringBoot。

    最后,这么好用的SpringBoot项目,贴上GitHub地址:

    https://github.com/xkcoding/spring-boot-demo

    关注GitHub今日热榜,专注挖掘好用的开发工具,致力于分享优质高效的工具、资源、插件等,助力开发者成长!

    点个在看 你最好看

    展开全文
  • Spring Boot Demo spring boot demo 是一个用来学习 spring boot 的项目,总共包含 51 个集成demo,已经完成 42 个。包含集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、...

    Spring Boot Demo

    spring boot demo 是一个用来学习 spring boot 的项目,总共包含 51 个集成demo,已经完成 42 个。包含集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beetl(模板引擎)、Enjoy(模板引擎)、JdbcTemplate、JPA(ORM框架)、mybatis(ORM框架)、通用Mapper、PageHelper、mybatis-plus、BeetlSQL、upload(本地文件上传和七牛云文件上传)、redis(缓存)、ehcache(缓存)、email(发送各种类型邮件)、task(基础定时任务)、quartz(动态管理定时任务)、swagger(API接口管理测试)、security(基于RBAC的动态权限认证)、Session共享、Zookeeper(结合AOP实现分布式锁)、RabbitMQ(消息队列)、websocket(服务端推送监控服务器运行信息)、socket.io(聊天室)、ureport2(中国式报表)、打包成war文件、集成 ElasticSearch(基本操作和高级查询)、Async(异步任务)、集成Dubbo(采用官方的starter)、MongoDB(文档数据库)、neo4j(图数据库)、docker(容器化)、JPA多数据源、Mybatis多数据源。

    如果大家还有想要集成的demo,也可在 issue 里提需求。我会额外添加在 TODO 列表里。✊

    分支

    master 分支:基于 SpringBoot 版本 2.1.0.RELEASE,每个 module 的 parent 依赖根目录下的pom.xml,主要用于管理每个module的依赖版本,方便大家学习

    v-1.5.x 分支:基于 SpringBoot 版本 1.5.8.RELEASE,每个 module 均依赖 spring-boot-demo-parent,有挺多同学们反映这种方式对新手不是很友好,运行起来有些难度,因此 此分支(v-1.5.x)会暂停开发维护 ,所有内容会慢慢以 master 分支的形式同步过去,此分支暂未完成的,也会直接在master分支上加,在此分支学习的同学们,仍然可以在此分支学习,但是建议后期切换到master分支,会更加容易。🙂

    开发环境

    JDK1.8 +

    Maven 3.5 +

    IntelliJ IDEA ULTIMATE 2018.2 + (注意:务必使用 IDEA 开发,同时保证安装 lombok 插件)

    mysql 5.7 + (尽量5.7版本以上,因为5.7版本加了一些新特性,不向下兼容。本demo里会尽量避免这种不兼容的地方,但还是建议尽量保证5.7版本以上)

    运行方式

    git clone https://github.com/xkcoding/spring-boot-demo.git

    使用 IDEA 打开 clone 下来的项目

    在 IDEA 中打开项目

    在 IDEA 中 Maven Projects 的面板导入根目录下 的 pom.xml

    Maven Projects 找不到的童鞋,可以勾上 View -> Tool Buttons ,然后Maven Projects的面板就会出现在IDEA的右侧

    找到各个 module 的 Application 类就可以运行各个 module 了

    PS:运行各个 module 之前,请先注意有些模块是需要先初始化数据库数据的。

    开发计划

    查看 TODO 文件

    根目录下的 pom.xml

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">

    4.0.0

    com.xkcoding

    spring-boot-demo

    1.0.0-SNAPSHOT

    spring-boot-demo-helloworld

    spring-boot-demo-properties

    spring-boot-demo-actuator

    spring-boot-demo-admin-client

    spring-boot-demo-admin-server

    spring-boot-demo-logback

    spring-boot-demo-log-aop

    spring-boot-demo-exception-handler

    spring-boot-demo-template-freemarker

    spring-boot-demo-template-thymeleaf

    spring-boot-demo-template-beetl

    spring-boot-demo-template-enjoy

    spring-boot-demo-orm-jdbctemplate

    spring-boot-demo-orm-jpa

    spring-boot-demo-orm-mybatis

    spring-boot-demo-orm-mybatis-mapper-page

    spring-boot-demo-orm-mybatis-plus

    spring-boot-demo-orm-beetlsql

    spring-boot-demo-upload

    spring-boot-demo-cache-redis

    spring-boot-demo-cache-ehcache

    spring-boot-demo-email

    spring-boot-demo-task

    spring-boot-demo-task-quartz

    spring-boot-demo-swagger

    spring-boot-demo-swagger-beauty

    spring-boot-demo-rbac-security

    spring-boot-demo-rbac-shiro

    spring-boot-demo-session

    spring-boot-demo-oauth

    spring-boot-demo-social

    spring-boot-demo-zookeeper

    spring-boot-demo-mq-rabbitmq

    spring-boot-demo-mq-rocketmq

    spring-boot-demo-mq-kafka

    spring-boot-demo-websocket

    spring-boot-demo-websocket-socketio

    spring-boot-demo-ureport2

    spring-boot-demo-uflo

    spring-boot-demo-urule

    spring-boot-demo-activiti

    spring-boot-demo-async

    spring-boot-demo-dubbo

    spring-boot-demo-war

    spring-boot-demo-elasticsearch

    spring-boot-demo-mongodb

    spring-boot-demo-neo4j

    spring-boot-demo-docker

    spring-boot-demo-multi-datasource-jpa

    spring-boot-demo-multi-datasource-mybatis

    spring-boot-demo-sharding-jdbc

    pom

    spring-boot-demo

    http://xkcoding.com

    UTF-8

    UTF-8

    1.8

    1.8

    1.8

    2.1.0.RELEASE

    8.0.12

    4.4.0

    27.0-jre

    1.20

    org.springframework.boot

    spring-boot-dependencies

    ${spring.boot.version}

    pom

    import

    mysql

    mysql-connector-java

    ${mysql.version}

    cn.hutool

    hutool-all

    ${hutool.version}

    com.google.guava

    guava

    ${guava.version}

    eu.bitwalker

    UserAgentUtils

    ${user.agent.version}

    maven-clean-plugin

    3.0.0

    maven-resources-plugin

    3.0.2

    maven-compiler-plugin

    3.7.0

    maven-surefire-plugin

    2.20.1

    maven-jar-plugin

    3.0.2

    maven-install-plugin

    2.5.2

    maven-deploy-plugin

    2.8.2

    org.springframework.boot

    spring-boot-maven-plugin

    ${spring.boot.version}

    repackage

    各 Module 介绍

    Module 名称

    Module 介绍

    spring-boot 集成 spring-boot-starter-actuator 用于监控 spring-boot 的启动和运行状态

    spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,客户端示例

    spring-boot 集成 spring-boot-admin 来可视化的监控 spring-boot 程序的运行状态,可以与 actuator 互相搭配使用,服务端示例

    spring-boot 集成 logback 日志

    spring-boot 使用 AOP 切面的方式记录 web 请求日志

    spring-boot 统一异常处理,包括2种,第一种返回统一的 json 格式,第二种统一跳转到异常页面

    spring-boot 集成 Jdbc Template 操作数据库,并简易封装通用 Dao 层

    spring-boot 集成 spring-boot-starter-data-jpa 操作数据库

    spring-boot 文件上传示例,包含本地文件上传以及七牛云文件上传

    spring-boot 整合 redis,操作redis中的数据,并使用redis缓存数据

    spring-boot 整合 ehcache,使用 ehcache 缓存数据

    spring-boot 整合 email,包括发送简单文本邮件、HTML邮件(包括模板HTML邮件)、附件邮件、静态资源邮件

    spring-boot 整合 quartz,并实现对定时任务的管理,包括新增定时任务,删除定时任务,暂停定时任务,恢复定时任务,修改定时任务启动时间,以及定时任务列表查询

    spring-boot 集成原生的 swagger 用于统一管理、测试 API 接口

    spring-boot 集成第三方 swagger 美化API文档样式,用于统一管理、测试 API 接口

    spring-boot 集成 spring security 完成基于RBAC权限模型的权限管理,支持自定义过滤请求,动态权限认证,使用 JWT 安全认证,支持在线人数统计,手动踢出用户等操作

    spring-boot 集成 Spring Session 实现Session共享、重启程序Session不失效

    spring-boot 集成 Zookeeper 结合AOP实现分布式锁

    spring-boot 集成 RabbitMQ 实现基于直接队列模式、分列模式、主题模式、延迟队列的消息发送和接收

    spring-boot 集成 kafka,实现消息的发送和接收

    spring-boot 集成 websocket,后端主动推送前端服务器运行信息

    spring-boot 使用 netty-socketio 集成 websocket,实现一个简单的聊天室

    spring-boot 使用原生提供的异步任务支持,实现异步执行任务

    spring-boot 打成 war 包的配置

    spring-boot 集成 ElasticSearch,集成 spring-boot-starter-data-elasticsearch 完成对 ElasticSearch 的高级使用技巧,包括创建索引、配置映射、删除索引、增删改查基本操作、复杂查询、高级查询、聚合查询等

    spring-boot 集成 Dubbo,分别为公共模块 spring-boot-demo-dubbo-common、服务提供方spring-boot-demo-dubbo-provider、服务调用方spring-boot-demo-dubbo-consumer

    spring-boot 集成 MongoDB,使用官方的 starter 实现增删改查

    spring-boot 集成 Neo4j 图数据库,实现一个校园人物关系网的demo

    spring-boot 使用Mybatis集成多数据源,使用 Mybatis-Plus 提供的开源解决方案实现

    spring-boot 使用 sharding-jdbc 实现分库分表待完成

    官方提供的 starter 介绍

    Name

    Description

    spring-boot-starter

    The core Spring Boot starter, including auto-configuration support, logging and YAML.

    spring-boot-starter-actuator

    Production ready features to help you monitor and manage your application.

    spring-boot-starter-amqp

    are neat

    spring-boot-starter-aop

    Support for aspect-oriented programming including spring-aop and AspectJ.

    spring-boot-starter-artemis

    Support for “Java Message Service API” via Apache Artemis.

    spring-boot-starter-batch

    Support for “Spring Batch” including HSQLDB database.

    spring-boot-starter-cache

    Support for Spring’s Cache abstraction.

    spring-boot-starter-cloud-connectors

    Support for “Spring Cloud Connectors” which simplifies connecting to services in cloud platforms like Cloud Foundry and Heroku.

    spring-boot-starter-data-elasticsearch

    Support for the Elasticsearch search and analytics engine including spring-data-elasticsearch.

    spring-boot-starter-data-gemfire

    Support for the GemFire distributed data store including spring-data-gemfire.

    spring-boot-starter-data-jpa

    Support for the “Java Persistence API” including spring-data-jpa, spring-orm and Hibernate.

    spring-boot-starter-data-mongodb

    Support for the MongoDB NoSQL Database, including spring-data-mongodb.

    spring-boot-starter-data-rest

    Support for exposing Spring Data repositories over REST via spring-data-rest-webmvc.

    spring-boot-starter-data-solr

    Support for the Apache Solr search platform, including spring-data-solr.

    spring-boot-starter-freemarker

    Support for the FreeMarker templating engine.

    spring-boot-starter-groovy-templates

    Support for the Groovy templating engine.

    spring-boot-starter-hateoas

    Support for HATEOAS-based RESTful services via spring-hateoas.

    spring-boot-starter-hornetq

    Support for “Java Message Service API” via HornetQ.

    spring-boot-starter-integration

    Support for common spring-integration modules.

    spring-boot-starter-jdbc

    Support for JDBC databases.

    spring-boot-starter-jersey

    Support for the Jersey RESTful Web Services framework.

    spring-boot-starter-jta-atomikos

    Support for JTA distributed transactions via Atomikos.

    spring-boot-starter-jta-bitronix

    Support for JTA distributed transactions via Bitronix.

    spring-boot-starter-mail

    Support for javax.mail.

    spring-boot-starter-mobile

    Support for spring-mobile.

    spring-boot-starter-mustache

    Support for the Mustache templating engine.

    spring-boot-starter-redis

    Support for the REDIS key-value data store, including spring-redis.

    spring-boot-starter-security

    Support for spring-security.

    spring-boot-starter-social-facebook

    Support for spring-social-facebook.

    spring-boot-starter-social-linkedin

    Support for spring-social-linkedin.

    spring-boot-starter-social-twitter

    Support for spring-social-twitter.

    spring-boot-starter-test

    Support for common test dependencies, including JUnit, Hamcrest and Mockito along with the spring-test module.

    spring-boot-starter-thymeleaf

    Support for the Thymeleaf templating engine, including integration with Spring.

    spring-boot-starter-velocity

    Support for the Velocity templating engine.

    spring-boot-starter-web

    Support for full-stack web development, including Tomcat and spring-webmvc.

    spring-boot-starter-websocket

    Support for WebSocket development.

    spring-boot-starter-ws

    Support for Spring Web Services.

    License

    Copyright (c) 2018 Yangkai.Shen

    展开全文
  • 项目简介 spring boot demo是一个用来深度学习并实战spring boot的项目,目前总共包含65个集成demo,已经完成52个。 该项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web...
  • 规则引擎 这个主要是风控系统,优惠券设计需要用到,现在主流的有drools,urule之类,核心是rete算法,这个个人感觉实现都有些繁琐,drools 还是特别占内存,改天我想个办法写个好点的简单点的,把那些决策,规则塞...
  • 项目已成功集成 actuator(监控)、admin(可视化监控)、logback(日志)、aopLog(通过AOP记录web请求日志)、统一异常处理(json级别和页面级别)、freemarker(模板引擎)、thymeleaf(模板引擎)、Beet

空空如也

空空如也

1
收藏数 10
精华内容 4
关键字:

idea创建urule项目

友情链接: copula.zip