匿名函数托管器 spring-boot-func-starter
spring-boot-func-starter
spring-boot-func-starter 介绍
项目地址: https://gitee.com/yiur/spring-boot-func-starter
基于SpringBoot的匿名函数托管器,在springboot中可以将接口的方法进行各种操作
平时的java开发中继承接口要将接口的方法全实现,而func匿名函数托管不需要进行全部
实现可以用@FuncLambda进行单独实现,没有进行匿名实现的接口方法不能进行调用,
func匿名函数还可以动态实现接口方法,配合代码达到更多操作,此外还有函数回调的
功能,在web开发中使用func匿名函数的对象是默认调用回调方法的,你也可以通过继承
Callback接口编写自己想要的(then, error)回调方法
error目前不兼容springboot的热部署
@FuncConfiguration匿名配置
@FuncLambda匿名函数配置
注解模式开发
项目搭建
定义接口,此接口的方法由匿名函数代理
public interface WebInitOutInfo {
String out(String message, String... args);
}
@FuncConfiguration匿名函数的总配置@FuncLambda匿名函数classFile代理的接口funcCallback回调函数callbackClass绑定的回调函数类
@FuncConfiguration
public class WebFuncLinkConfig {
@FuncLambda(classFile = WebInitOutInfo.class,
funcCallback = @FuncCallback(callbackClass = BlogCallback.class))
public String out(@FuncParameter("message") String message, @FuncParameter("args") String... args) {
return FuncString.format(message, args);
}
}
回调函数实现Callback接口即可
public class BlogCallback implements Callback {
@Override
public Object then(Object o) {
return FuncString.format("then blogCallBack:value(?)", o);
}
@Override
public Object error(Exception e) {
return ((InvocationTargetException)e).getTargetException().getMessage();
}
}
启动类开启匿名函数自动装配 @EnableFuncLambda
@EnableWebMvc
@EnableFuncLambda
@SpringBootApplication
public class WebBlogApplication {
public static void main(String[] args) {
SpringApplication.run(WebBlogApplication.class, args);
}
}
配置web进行测试,编写controller
@Controller
public class BlogController {
@Autowired
public WebInitOutInfo webInitOutInfo;
@ResponseBody
@RequestMapping("/replace")
public String value(String message, String... args) {
return webInitOutInfo.out(message, args);
}
}
测试成功回调[http://localhost:8888/replace?message=value ? ?&args=12, hello func](http://localhost:8888/replace?message=value ? ?&args=12, hello func)

测试失败回调[http://localhost:8888/replace?message=value ???&args=12,%20hello%20func](http://localhost:8888/replace?message=value ? ??&args=12, hello func)

匿名函数托管器 spring-boot-func-starter的更多相关文章
- Spring Boot自定义starter必知必会条件
前言 在目前的Spring Boot框架中,不管是Spring Boot官方还是非官方,都提供了非常多的starter系列组件,助力开发者在企业应用中的开发,提升研发人员的工作效率,Spring Bo ...
- spring boot自定义starter
1.spring boot 项目中自定义jar包 2.项目目录 3.src/main/java 下面写自己的方法,重点是 resources 下面的文件,在resources下面新建文件夹名字为 ME ...
- Spring Boot 自定义 starter
一.简介 SpringBoot 最强大的功能就是把我们常用的场景抽取成了一个个starter(场景启动器),我们通过引入springboot 为我提供的这些场景启动器,我们再进行少量的配置就能使用相应 ...
- Spring boot 自定义starter
以下配置来自尚硅谷.. 常用如何配置 @Configuration //指定这个类是一个配置类 @ConditionalOnXXX //在指定条件成立的情况下自动配置类生效 @AutoConfigur ...
- Spring Boot中Starter是什么
比如我们要在Spring Boot中引入Web MVC的支持时,我们通常会引入这个模块spring-boot-starter-web,而这个模块如果解压包出来会发现里面什么都没有,只定义了一些POM依 ...
- 【串线篇】spring boot自定义starter
starter: 一.这个场景需要使用到的依赖是什么? 二.如何编写自动配置 启动器只用来做依赖导入:(启动器模块是一个空 JAR 文件,仅提供辅助性依赖管理,这些依赖可能用于自动装配或者其他类库) ...
- Spring Boot 各Starter介绍
原文链接:https://blog.csdn.net/u014430366/article/details/53648139 Spring-Boot-Starters 最通俗的理解- jar 包,引用 ...
- 手把手教你实现自定义Spring Boot的 Starter
引言 上篇文章<天天用SpringBoot,它的自动装配原理却说不出来>我们有说springBoot的自动装配怎么实现的(建议最好先看下篇文章,因为前后有关系),这篇文章的话我们就自己来实 ...
- Spring Boot 自定义Starter 可能引发的问题(Error)
如果你的项目出现: Consider defining a bean of type 'com.wy.helloworld_spring_boot_starter.PersonService' in ...
随机推荐
- openFeign夺命连环9问,这谁受得了?
1.前言 前面介绍了Spring Cloud 中的灵魂摆渡者Nacos,和它的前辈们相比不仅仅功能强大,而且部署非常简单. 今天介绍一款服务调用的组件:OpenFeign,同样是一款超越先辈(Ribb ...
- python学习笔记(十二)-网络编程
本文结束使用 Requests 发送网络请求.requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到.可以说,Requests 完全满足如今网络的需求. ...
- Linux 清理缓存
1. free -m 命令可以查看内存使用情况 2. sync :因为系统在操作的过程当中,会把你的操作到的文件资料先保存到buffer中去,因为怕你在操作的过程中因为断电等原因遗失数据,所以在 ...
- HTML的一些技巧
清除form表单 this.$refs.formName.resetFields() 验证表单 this.$refs.createForm.validate((valid) => {}) 当im ...
- equals之List
School类 package com.collection.equals; /* * 定义一个学校类 相当于一个学校模板 * 状态: 1.学校id 2.学校名称 * */ public class ...
- 面试官:Java从编译到执行,发生了什么?
面试官:今天从基础先问起吧,你是怎么理解Java是一门「跨平台」的语言,也就是「一次编译,到处运行的」? 候选者:很好理解啊,因为我们有JVM. 候选者:Java源代码会被编译为class文件,cla ...
- GAN实战笔记——第二章自编码器生成模型入门
自编码器生成模型入门 之所以讲解本章内容,原因有三. 生成模型对大多数人来说是一个全新的领域.大多数人一开始接触到的往往都是机器学习中的分类任务--也许因为它们更为直观:而生成模型试图生成看起来很逼真 ...
- g++ 常用命令
g++ --help
- ShutdownHook原理
微信搜索"捉虫大师",点赞.关注是对我最大的鼓励 ShutdownHook介绍 在java程序中,很容易在进程结束时添加一个钩子,即ShutdownHook.通常在程序启动时加入以 ...
- 初学python-day4 字典(已更新完)