@Component (把普通pojo实例化到spring容器中,相当于配置文件中的 ) @Component("testJob") @Transactional(rollbackFor = Exception.class) public class TestJob { public void start(Object object) { System.out.println("-------------------TestJob01任务执行开始-------------------"); System.out.println(new Date()); System.out.println("-------------------TestJob01任务执行结束-------------------"); } }
//公共方法
@Component public class SpringUtil implements BeanFactoryPostProcessor { private static ConfigurableListableBeanFactory beanFactory; public void postProcessBeanFactory(ConfigurableListableBeanFactory beanFactory) throws BeansException { this.beanFactory = beanFactory; } public static Object getBean(String name) { return beanFactory.getBean(name); } public static <T> T getBean(Class<T> clazz){ return beanFactory.getBean(clazz); } }
//执行调用方法
//获取对应的Bean Object object = SpringUtil.getBean(bean名称); try { //利用反射执行对应方法 需要传递参数提前声明类型和参数 Method method = object.getClass().getMethod(方法名,String.class); method.invoke(object,"123"); } catch (Exception e) { e.printStackTrace(); }