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等开发。

项目地址:

附:入门示例

posted @ 2021-05-23 14:47  带刺的坐椅  阅读(219)  评论(0编辑  收藏  举报