Solon Aop 特色开发(2)注入或手动获取Bean
Solon,更小、更快、更自由!本系列专门介绍Solon Aop方面的特色:
常规操作,先启动 Solon
public class App{
public void main(String[] args){
Solon.start(App.class, args);
}
}
一、如何注入Bean?
先了解一下Bean生命周期的简化版:构建函数 - > 尝试注入(异步的)-> @Init 函数->...->释放。了解这个过程后,可以知道注入的内容,在构建函数里不一定可用:
@Service
public class DemoService{
//这个注入是异步的,不能在构造函数里使用
@Inject
private TrackService trackService;
public DemoService(){
//此时,trackService 还没有注入;不能用
}
@Init
public void init(){
//(如果想用)此时,trackService 已完成注入
}
}
二、如何手动获取Bean?
@Service
public class DemoService{
private TrackService trackService;
public DemoService(){
//通过异步回调模式获取
Aop.getAsyn(DemoService.class, bw-> {
trackService = bw.get();
//bean 获取后,可以做些后续处理。。。
});
}
}
附:Solon 是什么?
一个插件式的 Java 微型基础开发框架。支持Web、Job、Remoting、MicoService等开发。
项目地址:
附:入门示例
- Solon 入门教程示例:https://gitee.com/noear/solon_demo
- Solon Rpc 入门教程示例:https://gitee.com/noear/solon_rpc_demo
- Solon Cloud 入门教程示例:https://gitee.com/noear/solon_cloud_demo
- Solon 进阶教程示例:https://gitee.com/noear/solon_advance_demo
Solon Aop 特色开发(2)注入或手动获取Bean的更多相关文章
- Solon 开发,二、注入或手动获取Bean
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- Solon Aop 特色开发(1)注入或手动获取配置
常规操作,先启动 Solon public class App{ public void main(String[] args){ Solon.start(App.class, args); } } ...
- Solon 开发,一、注入或手动获取配置
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- Spring_手动获取Bean
1.SpringContextHolder.java package com.lkb.util; import org.springframework.context.ApplicationConte ...
- springmvc手动获取bean
@Service @Lazy(false) public class SpringContextHolder implements ApplicationContextAware, Disposabl ...
- 使用spring手动获取Bean的时候,不能强转回它自己。
这个问题好像有点长,描述一下: 就是通过类名的方式获取Bean后,得到一个Object对象,但是这个Object不能再强转回Bean了.抛出的异常时类型转换异常. java.lang.ClassCa ...
- Springboot手动获取bean
使用如下工具类即可 package com.rio.ums.spa.commons.utils; import org.springframework.beans.BeansException; im ...
- Solon 开发,三、构建一个Bean的三种方式
Solon 开发 一.注入或手动获取配置 二.注入或手动获取Bean 三.构建一个Bean的三种方式 四.Bean 扫描的三种方式 五.切面与环绕拦截 六.提取Bean的函数进行定制开发 七.自定义注 ...
- Solon Cloud 分布式开发套件清单与快速概览
Solon Cloud 是一系列的接口标准和配置规范.Solon Cloud 为常见的分布式系统模式提供了一种简单且方便的编程模式,帮助开发人员构建有弹性的.可靠的.协调的应用程序.Solon Clo ...
- (转)Spring使用AspectJ进行AOP的开发:注解方式
http://blog.csdn.net/yerenyuan_pku/article/details/69790950 Spring使用AspectJ进行AOP的开发:注解方式 之前我已讲过Sprin ...
随机推荐
- 使用 Vue 3 插件(Plugin)实现 OIDC 登录和修改密码(OIDC 系统以 Keycloak 为例)
背景 目前单位系统常用 Keycloak 作为认证系统后端,而前端之前写的也比较随意,这次用 Vue 3 插件以及 Ref 响应式来编写这个模块.另外,这个可能是全网唯一使用 keycloak 的 O ...
- 手撕Vuex-提取模块信息
前言 在上一篇[手撕Vuex-模块化共享数据]文章中,已经了解了模块化,与共享数据的注意点. 那么接下来就要在我们自己的 Nuex 中实现共享数据模块化的功能.那么怎么在我们自己的 Nuex 中实现共 ...
- iOS性能优化之内存分析
成功之前我们要做应该做的事情,成功之后我们才可以做喜欢做的事情. 从苹果的开发者文档里可以看到内存分类如下所示,其中 Leaked memory和 Abandoned memory 都属于应该释放 ...
- C语言计算并输出华氏温度为80F所对应的摄氏温度C。转换公式为:C=5*(F-32)/9
#include <stdio.h> int main() { double F = 80.0, C;//定义摄氏温度变量,赋值华氏温度 C = 5 * (F - 32) / 9.0;// ...
- 【题解】HD2016.X1,HD2016.X3,HD2016.X4,HD2016.X5
[HD2016.X1] 价钱统计 题目描述 夏天到了,超市里摆满了各种各样的应季水果.现在知道:西瓜的价钱是每斤 1.2 元:桃子的价钱是每斤 3.5 元:葡萄的价钱是每斤 4.5 元:苹果的价钱是每 ...
- 前端解析excel表格
需求如下: 前端拿到表格中的数据,对数据做以下判断,并将拿到的数据转换成以下json格式,传给后端. 具体实现: 下载npm包:npm install xlsx --save 在vue文件中引入依赖: ...
- 吉特日化MES系统&各类化妆品检验标准汇总
在日化行业中,生产配料过程中,对产品的检验主要分为四大类: (1) 感官指标 (2) 理化指标 (3) 微生物指标 (4) 毒理指标 根据每个产品的不同,其指标会有所不同
- [ABC279G] At Most 2 Colors
Problem Statement There is a grid with $1 \times N$ squares, numbered $1,2,\dots,N$ from left to rig ...
- bash shell笔记整理——linux时钟和hwclock命令
Linux中的时钟 在linux中,分为了如下两种时钟: 系统时钟:由linux内核通过CPU的工作频率进行的计时. 硬件时钟:主板上的cmos芯片时钟,就是可以在bios中设定的时间.(RTC,re ...
- Pulsar3.0 升级指北
Pulsar3.0 介绍 Pulsar3.0 是 Pulsar 社区推出的第一个 LTS 长期支持版本. 如图所示,LTS 版本会最长支持到 36 个月,而 Feature 版本最多只有六个月:类似于 ...