请教spring高手一个问题,依赖注入的bean,到底被存到什么地方了?
下面是一段配置文件
<bean id= "loadBean " class= "com.bytime.toss.framework.web.model.LoadBean ">
<property name= "dataSource ">
<ref bean= "dataSource " />
</property>
</bean>
<bean name= "/LoadParamFileFeeAction " class= "com.bytime.toss.finance.charge.web.action.LoadParamFileFeeAction ">
<property name= "loadBean ">
<ref local= "loadBean " />
</property>
<property name= "deptManagerService ">
<ref local= "deptManagerService " />
</property>
</bean>
这里给LoadParamFileFeeAction注入了一个loadBean,这样在LoadParamFileFeeAction中可以随意使用这个loadBean了,但是我就是不明白,这个loadBean在系统启动时,注入LoadParamFileFeeAction后,他被放到了什么地方?第一次我们通过JSp访问LoadParamFileFeeAction时,LoadParamFileFeeAction也是新生成的啊,按照道理说,他要使用loadBean,也应该是new一个loadBean才对啊,这么注入进来就能使用到底是为什么呀?
------解决方案--------------------系统启动时,扫描spring的培植文件,创建那些定义了的bean,放在内存中,作用域应该是application吧.然后spring调用需要被主入对象的set方法,把被主入的对象主入
------解决方案--------------------服务器启动时,会解析配置文件,装载这些bean,以及他们之间的依赖关系,启动完了这些bean就已经在内存中了,这就是spring 的核心思想,既ioc,你的程序只要调用这些bean 就行了
------解决方案--------------------LoadParamFileFeeAction 在服务器启动时被Spring加载并实例化 并注入它所依赖的其它对象
动态调用setXXX方法