问题:启动时就执行代码要怎么做?
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) {
//执行代码
}
}