本次更新:
- 优化: loveqq-boot-starter-netty,新增 WebSocketHandler 以支持 websocket 链接,并兼容命令式编码风格
- 优化: loveqq-boot-starter-netty,新增 WsFilter,以支持 websocket 过滤器
- 优化: loveqq-boot-starter-netty,新增 sse 响应支持
- 优化:引入熟悉的 @AliasFor,全面支持注解继承、复合注解
- 优化:ioc 容器启动性能、反射调用性能
- 优化:支持 ide 中 shorten command line 启动
- 优化:支持 ide 中,动态构建 jar index 启动应用
- 优化:得益于自定义 JarIndexClassLoader,只需将 ClassFileTransformer 实现类配置到 k.factories 中,即可生效,而无需配置 javaagent 以及 Pre-Main
- 优化:@Configuration 的自调用默认无需生成代理类
简介
轻量级 ioc/aop 框架,比 spring 更强大的条件推断;抽象出 mvc 模式,提供嵌入式 reactor-netty、tomcat 服务器;
提供 javafx mvvm 框架,可实现模型-数据的双向绑定;提供动态数据源配置支持;提供注解式缓存支持;
已集成
aspect、reactor-netty、tomcat、nacos、feign、mybatis、spring-tx、jsr303-valid、
logback、jakarta-mail、quartz、xxl-job、pagehelper、redisson、shiro、thymeleaf、
datasource-auto-config、baidu-uid-generator 等常用组件;
默认提供 jar 包瘦身方式打包,支持 jarindex 启动,启动速度更快;
已提供 Ruoyi-for-loveqq 版本,替换到 spring 及其全部 starter,开箱即用。
简单示例
@Slf4j @EnableWebMvc @BootApplication public class Main { public static void main(String[] args) { K.run(Main.class, args); } @GetMapping public User hello(@Valid User user) { return user; } @Async @EventListener public void onStarted(ContextRefreshedEvent event) { log.info("started succeed !"); } @Data public static class User { /** * 自定义条件校验注解 * 以当前 bean 为 root 对象,可以基于 ognl 表达式实现参数校验 */ @Condition(when = "type == 1", then = "photo != null", message = "type=1时,图片不能为空") private Integer type; private String photo; } /** * 循环依赖及懒加载示例 */ @Component public static class AAA { /** * 虽然 BBB 并没有默认的构造器,但是在 @Lazy 加持下,依然可以全部注入成功 */ public AAA(@Lazy BBB bbb) { } } @Component public static class BBB { public BBB(AAA aaa) { } } }
还没有评论,来说两句吧...