一、获取需要加载的数据
@Component
public class MathMethod {
public void addMethod(int i) {
//查询方法存入redis等库
System.out.println(i);
}
}
注意:同样需要被spring容器管理即@Component
二、继承CommandLineRunner重写run方法
@Component
public class Runner implements CommandLineRunner {
@Autowired
private MathMethod mathMethod;
@Override
public void run(String... args) throws Exception {
//需求初始化的方法
mathMethod.addMethod(1);
System.out.println("CommandLineRunner执行");
}
}
注意:同样需要被spring容器管理即@Component
三、InitializingBean 也具有差不多功能
@Service
public class InitTest implements InitializingBean {
@Autowired
private MathMethod mathMethod;
@Override
public void afterPropertiesSet() throws Exception {
mathMethod.addMethod(2);
System.out.println("InitializingBean执行了");
}
}
四、执行先后顺序
@SpringBootApplication
public class InitdemoApplication {
public static void main(String[] args) {
System.out.println("main执行");
SpringApplication.run(InitdemoApplication.class, args);
System.out.println("main执行结束");
}
}
结果:
main执行
InitializingBean执行了
CommandLineRunner执行
main执行结束
五、简单说明
CommandLineRunner在spring容器初始化bean后执行