Solon v3.0.3

问题:启动时就执行代码要怎么做?

</> markdown

1、自然顺序

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args);
        
        //执行代码
    }
}

2、使用事件总线与生命周期事件

具体参考:《应用生命周期》

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args);
    }
}

//应用加载完后的事件
@Component
public class AppLoadEndEventImpl implements EventListener<AppLoadEndEvent>{
    @Override
    public void onEvent(AppLoadEndEvent event) throws Throwable {
        //执行代码
    }
}

3、使用Bean实始化注解(会在容器初始化完成后执行)

具体参考:《Bean 生命周期》

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args);
    }
}

@Component
public class DemoCom  {
    @Init
    public void init() {
        //执行代码
    }
}

4、使用命令调度

具体参考:《Command 调度(命令)》

public class DemoApp {
    public static void main(String[] args) {
        Solon.start(DemoApp.class, args);
    }
}

//有命令 cmd:test 时执行 //java -jar demoapp.jar cmd:test
@Command("cmd:test")
public class Cmd1 implements CommandExecutor {
    @Override
    public void execute(String command) {
        //执行代码
    }
}