基于Groovy的规则脚本引擎实战
摘要:规则引擎由推理引擎发展而来,一种嵌入在应用程序中的组件,实现将业务决策从应用程序代码中分离出来并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。 把规则和核心业务拆开,规则单独配置。这样当我们的规则变化的时候,就可以通过修改规则文件而不用修改核心的代码了。
阅读全文
posted @
2023-03-18 08:01
溪水静幽
阅读(2730)
推荐(0) 编辑
springboot获取getBean方法以及ApplicationContext空指针问题解决
摘要:场景:在springboot多模块中使用getBean获取bean导致空指针异常。 假如有个工程有common模块和admin(启动类模块)模块,获取getBean的类在admin中,则不会报空指针,如果在common模块中,在admin模块中调用,则会报空指针异常,解决方法,使用@Import导入
阅读全文
posted @
2022-04-16 09:23
溪水静幽
阅读(3485)
推荐(0) 编辑
启动过程
摘要:启动主类调用main()方法开始。 调用 SpringApplication的构造方法,实例一个Spirng应用对象。在构造方法里主要完成启动环境初始化工作,如推断主类,spring应用类型,加载配置文件,读取spring.factories文件等。 调用run方法,所有的启动工作在该方法内完成,主
阅读全文
posted @
2022-04-12 11:41
溪水静幽
阅读(44)
推荐(0) 编辑
spring boot集成Caffeine
摘要:SpringBoot 有两种方式集成 Caffeine : 方式一:直接引入 Caffeine 依赖,然后使用 Caffeine 方法实现缓存。 方式二:引入 Caffeine 和 Spring Cache 依赖,使用 SpringCache 注解方法实现缓存。 方式一: 1、引入相关依赖 <dep
阅读全文
posted @
2021-02-19 23:10
溪水静幽
阅读(1210)
推荐(0) 编辑
boot管理脚本
摘要:脚本 #!/bin/bash # Java ENV export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home export JRE_HOME=${JAVA_HOME}/jre # Apps In
阅读全文
posted @
2020-05-30 19:40
溪水静幽
阅读(149)
推荐(0) 编辑
SpringBoot自定义starter及自动配置
摘要:自动化配置需满足以下条件: 根据条件检查classpath下对应的类,就是说需要提供对应可检查的类; 当满足条件时能够生成定义的Bean,并注册到容器中去; 能够自动配置项目所需要的配置; 在pom.xml中引入SpringBoot自动化配置依赖spring-boot-autoconfigure:
阅读全文
posted @
2020-05-30 15:13
溪水静幽
阅读(325)
推荐(0) 编辑
异步调用
摘要:同步调用,即:程序按定义的顺序依次执行的过程,每一行代码执行过程必须等待上一行代码执行完毕后才执行。而异步调用指:程序在执行时,无需等待执行的返回值可继续执行后面的代码。回调。其主要是解决异步方法执行结果的处理方法,比如在希望异步调用结束时返回执行结果,这个时候就可以考虑使用回调机制。 需要在启动类
阅读全文
posted @
2020-05-30 06:54
溪水静幽
阅读(646)
推荐(0) 编辑
Spring boot集成WebSocket简单消息代理
摘要:1、Websocket场景 客户端和服务器需要以高频率和低延迟交换事件。 对时间延迟都非常敏感,并且还需要以高频率交换各种各样的消息。HTML5规范中的(有 Web TCP 之称的) WebSocket ,就是一种高效节能的双向通信机制来保证数据的实时传输。 2、运行机制 WebSocket 是 H
阅读全文
posted @
2020-03-15 09:24
溪水静幽
阅读(2224)
推荐(0) 编辑
CommandLineRunner与ApplicationRunner
摘要:CommandLineRunner、ApplicationRunner 接口是在容器启动成功后的最后一步回调 CommandLineRunner接口 示例: @Component public class ServerStartedReport implements CommandLineRunne
阅读全文
posted @
2019-11-10 21:54
溪水静幽
阅读(167)
推荐(0) 编辑
整合apollo
摘要:Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。 Apollo和Spring Cloud Config对比 搭建教程 https://github.co
阅读全文
posted @
2019-10-13 17:27
溪水静幽
阅读(187)
推荐(0) 编辑
@Conditional注解
摘要:dicates that a component is only eligible for registration when all specified conditions match”,意思是只有满足一些列条件之后创建一个bean。 @Conditional定义 通过实现Condition接口
阅读全文
posted @
2019-09-18 23:03
溪水静幽
阅读(466)
推荐(0) 编辑
静态资源处理
摘要:Springboot静态资源映射提供的静态资源映射如下: 配置文件 “spring.mvc.static-path-pattern”用于阐述HTTP请求地址,而“spring.resources.static-locations”则用于描述静态资源的存放位置。 自定义静态资源映射 访问外部目录 页面
阅读全文
posted @
2019-07-21 22:31
溪水静幽
阅读(110)
推荐(0) 编辑
整合Lettuce Redis
摘要:Spring Boot2.x对Redis的支持不仅仅是丰富它的API,更是替换掉底层Jedis的依赖,取而代之换成了Lettuce(生菜) Lettuce 和 Jedis 的都是连接Redis Server的客户端程序。Jedis在实现上是直连redis server,多线程环境下非线程安全,除非使
阅读全文
posted @
2019-06-23 19:25
溪水静幽
阅读(478)
推荐(0) 编辑
spring boot自动配置
摘要:@SpringBootApplication @SpringBootApplication注解是Spring Boot的核心注解,是一个组合注解,核心功能由@EnableAutoConfiguration注解提供. @Target(ElementType.TYPE) @Retention(Reten
阅读全文
posted @
2019-04-14 23:27
溪水静幽
阅读(254)
推荐(0) 编辑
理解数据源自动配置
摘要:数据源核心依赖就是spring‐boot‐starter‐jdbc 或者使用的是JPA: Mysql数据库连接信息: 查明当前数据源 输出: class org.apache.tomcat.jdbc.pool.DataSource 默认是用org.apache.tomcat.jdbc.pool.Da
阅读全文
posted @
2019-04-14 22:18
溪水静幽
阅读(278)
推荐(0) 编辑
spring boot拦截器
摘要:拦截器都需要实现 HandIerInterceptor 接口 HandlerInterceptor 源码 Interceptor 基于Java的反射机制,属于AOP的一种运用 优点: 由于拦截器是基于web框架的调用,因此可以使用Spring的依赖注入进行一些业务操作,同时一个拦截器实例在一个con
阅读全文
posted @
2019-03-17 22:51
溪水静幽
阅读(421)
推荐(0) 编辑
spring boot整合Thymeleaf模板
摘要:在SpringBoot使用Thymeleaf、FreeMarker、Mustache、Velocity模板,默认从 src/main/resources/templates 下加载。 支持无网络环境下运行,由于支持 html 原型,然后在 html 标签里增加额外的属性,来达到模板+数据的展示方式。
阅读全文
posted @
2019-01-25 18:05
溪水静幽
阅读(143)
推荐(0) 编辑
文件配置
摘要:为了让 Spring Boot 更好的生成配置元数据文件,需要添加如下依赖 application.yml Person:使用时注入属性即可 自定义配置文件 在Resources文件路径中,增加person.properties springboot 启动会扫描以下位置的application.pr
阅读全文
posted @
2019-01-21 21:56
溪水静幽
阅读(117)
推荐(0) 编辑
多环境切换
摘要:根据开发、测试、真实常见的三个环境分成了三个配置文件 开发环境 测试环境 生产环境 环境配置选择 选择使用对应的环境配置,只需要在application.yml中加上一个spring.profiles.active=test ,分别指定配置文件的后缀就可以使用对应环境的配置,具体配置如下 验证切换环
阅读全文
posted @
2019-01-20 17:20
溪水静幽
阅读(137)
推荐(0) 编辑
Spring Boot整合Mybatis
摘要:1、POM.xml依赖文件 <?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-in
阅读全文
posted @
2019-01-19 21:27
溪水静幽
阅读(123)
推荐(0) 编辑