quartz spring注記注入のbeanを取得する方法

2318 ワード

実は簡単です.以下のようにします.
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"));
        
    }

}


SpringのWebApplicationContextは、ContextLoaderクラスのg e t C r r r e n t WebApplicationContext()メソッドで取得し、Beanを取得する方法で取得します.上記の方法は一般的な方法であり,Quartzだけでなく,他の非spring管理クラスもこの方法で取得できる.