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