通过Spring项目的main(String []args)方法中的Service类调用DAO类方法



我有一个Spring项目,有以下类:

  1. Reporting.java
  2. IPersistenceService.java
  3. PersistenceService.java(实现IPersistenceService),并有@service注释
  4. ReportingDAO.java:有updateData()方法。(新添加)

    在Reporting.java中有一个main(String []args)方法,从那里我必须调用Reporting.java的updateData()

Reporting.java:

@autowired
IPersistenceService persistenceService;
public static void main(String []args)
{
  ApplicationContext context = new ClassPathXMLApplicationContext(applicationContext.xml) // context has values populated in it.
  persistenceService.updateData(); // I am getting persistenceService as null here.
}
IPersistenceService.java
public void updateData();
@service
PersistenceService.java (implements IPersistenceService)
public void updateData()
{
  ReportingDAO reportingDao = new ReportingDAO ();
  reportingDao.updateData();
}

问题是我不能从我的main()类方法调用updateData()方法。因为我得到了空的persistenceService。

我不确定在applicationContext.xml中添加什么。

您的问题是您不能混合使用Spring bean工厂和调用new。在实例化对象的那一刻,它就脱离了Spring的控制。

要么将服务添加到Spring配置中,要么通过调用new实例化所需的对象。

相关内容

  • 没有找到相关文章

最新更新