项目启动时初始化的几种方式

  1. 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方法。

  1. 实现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());
}
}

你可能感兴趣的:(java)