ApplicationContextAware接口的方式获取ApplicationContext对象实例
@Component
public class SpringContextHolder implements ApplicationContextAware {
/**
* 上下文对象实例
*/
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringContextHolder.applicationContext = applicationContext;
}
}
在项目启动的时候,spring自动调用setApplicationContext方法。
实现CommandLineRunner来实现
服务器启动时执行CommandLineRunner中的run方法
@Component
public class MyStartRunning implements CommandLineRunner
{
@Override
public void run(String... args) throws Exception
{
System.out.println("============服务器启动时执行================");
for (String arg:args){
//args参数数组是启动传入进来的
System.out.println("========执行的参数====="+arg);
}
}
}
3.加@PostConstruct注解
@Compant
public class Demo{
@PostConstruct
public void init(){
//项目启动执行方法
}
}
4.实现InitializingBean接口,复写afterPropertiesSet方法
@Component
public class InitDemo implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
System.out.println(list.size());
}
}