实现InitializingBean接口 重写public void afterPropertiesSet() throws Exception 方法,afterPropertiesSet中的内容将在spring初始化时执行
@Component
public class Test implements ApplicationRunner {
@Override
public void run(ApplicationArguments args) {
}
}
被注解的方法将在类构造之后调用
@PostConstruct
public void init() {
smt = this._smt;
}
public @PostConstruct void someMethod(){}
spring配置文件中添加
<!-- 启动时执行com.ruiger.common.quartz.ScheduleUtils.init -->
<bean id="scheduleUtils" class="com.ruiger.common.quartz.ScheduleUtils" init-method="init" lazy-init="false" />
public class ScheduleUtils{
public static void init() {
/*
* STimetaskService sTimetaskService = (STimetaskService)
* SpingInit.getApplicationContext().getBean("sTimetaskServiceImpl");
*/
schedulerFactoryBean = (SchedulerFactoryBean) appContext.getBean(SchedulerFactoryBean.class);
List<Schedule> ss = scheduleService.selectList(new EntityWrapper<Schedule>().gt("date", new Date()));
for(Schedule s : ss) {
addScheduleNotice(s);
}
}
}
@Component
public abstract class SchedulerUtils implements ApplicationContextAware {
private static final Logger logger= LoggerFactory.getLogger(SchedulerUtils.class);
private static ApplicationContext appContext;
public static SchedulerFactoryBean schedulerFactoryBean = null;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
if (appContext == null) {
appContext = applicationContext;
}
schedulerFactoryBean = (SchedulerFactoryBean) appContext.getBean(SchedulerFactoryBean.class);
logger.info("setApplicationContext");
}
}