springboot在哪里写自己的代码。
@SpringBootApplication public class FooApplication {public static void main(String[] args) {SpringApplication.run(FooApplication.class, args);} }
上面是springboot的入口代码,主文件除了这个类没别的了。
网上有很多分析,springboot启动最后阶段,会执行这个类的静态方法run函数(就是上面代码里的那行),run方法会扫描所有带有@Component的实现了ApplicationRunner接口的类,并调用其run方法。这是在所有springboot所有的启动工作完成之后。
一段例子:
import org.springframework.boot.ApplicationArguments; import org.springframework.boot.ApplicationRunner; import org.springframework.core.Ordered; import org.springframework.stereotype.Component;@Component public class ApplicationRunnerImpl implements ApplicationRunner, Ordered {@Overridepublic void run(ApplicationArguments args) throws Exception {System.out.println("ApplicationRunner方法执行");}@Overridepublic int getOrder() {return 1;} }