找不到我的xml文件中定义的Bean

时间:2017-05-30 16:05:18

标签: java spring hibernate

我正在浏览一个RESTFul Webservice相关的java代码,我在我的控制器中定义了一个webservice,如下所示。它是由别人写的 我想弄清楚一些事情。

@RequestMapping(value="/updateemployeestatushistory", method=RequestMethod.GET)
    public String updateemployeestatushistory
    (
        @RequestParam(value="employee_id", defaultValue="0") Integer employee_id,
        @RequestParam(value="company_id", defaultValue="0") Integer company_id,
        @RequestParam(value="new_status_id", defaultValue="0") Integer new_status_id,
        @RequestParam(value="new_review_status_id", defaultValue="0") Integer new_review_status_id,
        @RequestParam(value="changer_id", defaultValue="0") Integer changer_id,
        @RequestParam(value="emp_status_change_comment", defaultValue="") String emp_status_change_comment,
        @RequestParam(value="company_status_change_comment", defaultValue="") String company_status_change_comment
    ) 
    {


        try {


            // Get and validate the employee .
            employeeDao rpDao = context.getBean("employeeDao", employeeDaoImpl.class);
            employee employee = rpDao.findByemployeeId(employee_id);
            if (employee == null) { throw new Exception("Invalid employee "); }

            // Use the employee  status dao to 1) update the employee  and 2) add a new history record.
            employeeStatusDao rpsDao = context.getBean("employeeStatusDao", employeeStatusDaoImpl.class);
            rpsDao.updateStatus(context, changer_id, employee, emp_status_change_comment, new_status_id, company_status_change_comment, new_review_status_id);

            result.setWebServiceStatus("Updated employee_ table, Inserted employee__HISTORY record", true);

            logger.info("Status history successfully updated");

        } catch(Throwable th) {
            th.printStackTrace();

        } 



    }

上面的控制器代码在我的主项目中,它引用了一个依赖项(另一个项目)。我在bean中定义了applicationcontext.xml 以下面的方式定义并基于上面的代码,我在xml代码中期待这样的东西:

<bean id="employeeStatusDao" class="abc.xyz.employee.orm.dao.impl.EmployeeStatusDaoImpl">
    <property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory"/>
</bean> 

abc.xyz.employee.orm.dao.impl.EmployeeStatusDaoImpl是引用依赖项中java文件的包的绝对路径。我试图搜索 abc.xyz.employee.orm.dao.impl目录中的Java文件但无法找到。

我想知道它是否应该是我的上述控制器代码必须引用的以下bean?因为现在,我在运行后没有看到任何错误 即使依赖项目中不存在Java文件EmployeeStatusDaoImpl.java,也要在控制器代码之上。我可以看到logger.info消息打印 但是在控制台上。

另外,对我来说,java文件中的代码 以下bean引用的EmployeeHistoryDaoImpl.java更有助于更新历史记录。

但是发现了这样的事情:

<bean id="employeeHistoryDao" class="abc.xyz.employee.orm.dao.impl.EmployeeHistoryDaoImpl">
    <property name="sessionFactory" ref="hibernate4AnnotatedSessionFactory"/>
</bean> 

0 个答案:

没有答案