上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 35 下一页
摘要: Solon Plugin 是框架的核心接口,简称“插件”。其本质是一个“生命周期”接口。它可让一个组件类参与程序的生命周期过程(这块看下:《应用启动过程与完整生命周期》): @FunctionalInterface public interface Plugin { //启动 void start( 阅读全文
posted @ 2023-02-13 22:13 带刺的坐椅 阅读(64) 评论(0) 推荐(0) 编辑
摘要: 1、剖析 Bean 的装包与注册过程 比如,用配置器装配一个 Bean (本质是装配出一个 BeanWrap,并自动注册到容器): @Configuration public class Config{ //同时以名字和类型进行注册 //支持类型或名字注入 @Bean(name="demo", ty 阅读全文
posted @ 2023-02-13 22:06 带刺的坐椅 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 1、定义构建能力注解,比如@Controller 注解类: @Target({ElementType.TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Controller { } 注解类能力注册: // 阅读全文
posted @ 2023-02-13 21:58 带刺的坐椅 阅读(36) 评论(0) 推荐(0) 编辑
摘要: 在 Java 里动态代理,主要分:接口动态代理 和 类动态代理。因为它的代理类都是动态创建的,所以名字里会带上“动态”。 官网的有些地方叫“代理”,也有些地方叫“动态代理”。都是一个意思。 1、接口动态代理 这是 jdk 直接支持的能力。内在的原理是:框架会动态生成目标接口的一个代理类(即接口的实现 阅读全文
posted @ 2023-02-12 22:08 带刺的坐椅 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 想要环绕拦截一个 Bean 的函数。需要三个前置条件: 通过注解做为“切点”,进行拦截(不能无缘无故给拦了吧?费性能) Bean 的 method 是被代理的 在 Bean 被扫描之前,完成环绕拦截的注册 1、定义切点和注册环绕拦截 Solon 的切点,通过注解实现,得先定义一个。例如:@Loggi 阅读全文
posted @ 2023-02-12 22:06 带刺的坐椅 阅读(23) 评论(0) 推荐(0) 编辑
摘要: 为什么需要提取Bean的函数?绝不是闲得淡疼。比如:控制器的@Mapping;再比如:Xxl-Job的@XxlJob。这些都是要提取Bean的函数并定制加工的。 1、比如提取 @XxlJob 注解的函数,并注册到执行器 对Xxl-Job框架来说@XxlJob注解是已经存在的。适配,只需要注册一个Be 阅读全文
posted @ 2023-02-12 22:03 带刺的坐椅 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 1、启动时扫描 package org.example.demo; public class DemoApp{ public static void main(String[] args){ // // DemoApp.clas 的作用,是提供一个扫描范围;DemoApp.class 所在包名下的b 阅读全文
posted @ 2023-02-12 21:57 带刺的坐椅 阅读(22) 评论(0) 推荐(0) 编辑
摘要: Solon 强调 有克制的注入 + 手动控制 结合的模式。好处是,代码用料少、启动快。 Bean 的关键生命节点: | 节点 | 说明 | | | | | 1. Constructor(构造方法) | 不支持参数注入 | | 2. @Inject(注入) | 基于订阅,不确定具体依赖什么时候会被注入 阅读全文
posted @ 2023-02-12 21:54 带刺的坐椅 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 1、如何注入Bean? 先了解一下Bean生命周期的简化版: 运行构建函数 尝试字段注入(有时同步注入,没时订阅注入。不会有相互依赖而卡住的问题) @Init 函数(是在容器初始化完成后才执行) ... 释放(基本不会发生) 了解这个生命过程后,可以知道注入的内容,在构建函数里是不可用的: @Ser 阅读全文
posted @ 2023-02-12 21:52 带刺的坐椅 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 1、手动 简单的构建: //生成普通的Bean Solon.context().wrapAndPut(UserService.class, new UserServiceImpl()); //生成带注解的Bean(比如:@Controller) Solon.context().beanMake(Us 阅读全文
posted @ 2023-02-12 21:50 带刺的坐椅 阅读(27) 评论(0) 推荐(0) 编辑
上一页 1 ··· 10 11 12 13 14 15 16 17 18 ··· 35 下一页