SpringBoot启动时,执行初始化方法的几种方式

386人浏览

SpringBoot启动时,执行初始化方法的几种方式:

方法1:CommandLineRunner接口

import org.springframework.boot.CommandLineRunner;

@SpringBootApplication
public class DemoApp implements CommandLineRunner {
	
	@Autowired
	WebAppConfig appConfig;
	
	/**
	 * main method
	 */
	public static void main(String[] args) {
		SpringApplication.run(DemoApp.class, args);
		System.out.println("DemoApp已启动");
		System.out.println("222");  //打印顺序
	}
	
	@Override
	public void run(String... args) throws Exception {
		System.out.println("111");  //打印顺序
		//可以使用注入的Bean
		System.out.println(appConfig.getKey());
	}
	
}

 

方法2:使用注解@PostConstruct

@Configuration
public class WebAppConfig  {
	
    //初始化变量
    @PostConstruct
    public void postConstruct(){
        MsgUtils.DATA_PATH=oxpaycLib;
    }

}

 

方法3:使用注解@EventListener

@Configuration
public class WebAppConfig  {
	
    //初始化变量
    @EventListener
    public void onApplicationEvent(ContextRefreshedEvent event) {
    	MsgUtils.DATA_PATH=oxpaycLib;
    }

}

 

这几个方法比较简单够用其它方式就不多写了。