hushaby_chao 2014-08-14 16:04
浏览 2466

关于Resource注入原型对象的问题

spring初学者,发现一个spring(或javaEE)关于注入原型对象的问题。请大牛们帮忙看看是我理解不对,还是spring或者javaEE的bug?

背景:

1、定义两个类分别是A和B,同时这两个类都定义为原型(即:scope=“prototype”);
2、A中一个属性定义的为B类型,即:A实例的创建过程中是需要注入一个B实例到A中的;

3、spring使用的3.1.2.RELEASE版本,jdk为1.6.0_10

测试方法及结果:

1、在spring配置文件中配置A对B的引用,可发现在两次调用A的实例对象时,B也被创建了两次 (同预期的结果一样)

2、不使用spring配置文件配置关联关系,而是在类A中使用@Resource的方式注入一个B实例对象,可发现在两次调用A的实例对象时,B只被创建创建了一次 (同预期结果不一致)

3、使用@Autowired替换@Resource重复步骤2,可发现在两次调用A的实例对象时,B也被创建了两次 (同预期的结果一样)

测试总结:

通过上述的测试发现,如果定义的原型A中通过@Resource的方式注入一个定义为原型的B的时候,并没有按照原型的定义完成B的注入,而是使用的单例模式。

  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥20 关于#硬件工程#的问题,请各位专家解答!
    • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
    • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
    • ¥30 截图中的mathematics程序转换成matlab
    • ¥15 动力学代码报错,维度不匹配
    • ¥15 Power query添加列问题
    • ¥50 Kubernetes&Fission&Eleasticsearch
    • ¥15 報錯:Person is not mapped,如何解決?
    • ¥15 c++头文件不能识别CDialog
    • ¥15 Excel发现不可读取的内容