弄个定时器定时调用邮件发送,需要访问数据库就要用到service,但是spring注入的bean用java类访问一时取不到bean。愁啊愁,网上出现了n种java类获取bean方法。试了几种都不得果。于是检查bean注入有啥问题。后面发现罪魁祸首竟是一个其他bean注入时的property属性无get/set方法。。导致邮件一直发送不成功。遂干掉。邮件立马收到。
下面列下java取bean方法。记录下,下次再要用就不需要瞎找了。呵呵
方法一:
ClassPathXmlApplicationContext resource= new ClassPathXmlApplicationContext(new String[]{"conf/applicationContext.xml","conf/applicationContext-dao.xml","conf/applicationContext-service.xml"});
BeanFactory factory= resource;
xxDAO = (XxDAO)factory.getBean("xxDAO");
方法二:
private ApplicationContext ctx = new ClassPathXmlApplicationContext("conf/applicationContext*.xml");
xxDAO= (XxDAO) ctx.getBean("xxDAO");
其实都是一样的啦,介于某人跟我争了很久,那就全贴上好了。