quartz如何获取spring注解注入的bean

其实很简单,如下:
public class ExampleJob extends QuartzJobBean {

    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        WebApplicationContext a = ContextLoader.getCurrentWebApplicationContext();
        System.out.println(a.getBean(APIController.class));
        System.out.println(a.containsBean("APIController"));
        
    }

}

通过ContextLoader类的getCurrentWebApplicationContext()方法获取spring的WebApplicationContext,然后再通过相应获取Bean的方法获取Bean。上述方法是个通用方法,不只可以用在Quartz中,其他非spring管理类也可以通过这种方法来获取。

你可能感兴趣的:(quartz如何获取spring注解注入的bean)