问题描述:


     spring 配置文件中配置的一个类A中需要添加一个属性,该属性为类B(类B是通过@Repository标识的),现要将类B通过@Autowired 注入到类A中去,结果程序运行中类B 为null

     

   

问题延伸:

    在测试过程中,进行了其他试验,将类C在spring的配置文件中配置一份,并将其配置成类A的属性,在类A中通过简单的set方法注入,类加载过程中类C被成功注入。

    若将配置文件中类A的属性类C去掉,在代码中用@Autowired或者@resource 注入,都不能成功。



结果:


    查阅很多资料后,都没有给出这种情况的原因。

    经过自己分析之后得出结论:

/****************************************************************************

    凡是用@controller,@service,@Repository 标注的类才能通过注解的方式注入属性。

用xml配置的类的属性只能在xml配置文件中配置。

****************************************************************************/


注:该问题的错误根源本人我发解答,只是通过测试 得出一个很肤浅的结论,期待大神给予指点,本人在此谢过。