spring依赖注入的疑问

追风的汉子XD 2012-10-15 04:17:15
小弟基础很薄弱,问的问题如果让你"噗"地笑了,请轻点喷
----------------------------------------------------
对于spring依赖注入这块,当初学的时候没什么,如今用的时候有很多疑问。在一个bean中,如果我有两个属性,private List list, private User user有get ,set方法. user是我自定义的一个类型。那么在配置文件中
<bean id="user" class="com.XX.XX"/>

<bean id="" class="">
<property name="user" ref="user">
<property name="list">
<list>
<value>hello</value>
<value>world</value>
</list>
</bean>
例子如上,那么问题来了。按照spring文档中的说法:
每个bean的依赖将以属性、构造器参数、或静态工厂方法参数的形式出现。当这些bean被实际创建时,这些依赖也将会提供给该bean。
我们通过factory.getBean("beanName")来获得这个bean时,由容器帮我们实例化这个bean并返回给我们,我说的对吗?那么这个bean中的属性的赋值由容器通过xml中的配置来调用set方法帮我们完成。user属性注入时,我通过<bean id="user" class="com.XX.XX"/>先声明之后,然后容器找到这个类并实例化它然后返回一个指向他引用,接着把这个引用赋值给bean中的user引用,那么list属性不是简单数据类型,容器使用set注入时,应该也是先生成一个实例返回一个引用然后将该引用赋值给list.自定义类型的属性我们要在配置文件中声明如user,list是Java内置类型,我们没声明,那么容器实例化时它怎么知道我是要ArrayList还是LinkedList类型的呢。我打印了下list.getClass();结果是ArrayList,那么如果我要LinkedList呢。
大婶们看的辛苦了,如果您看了之后有些话不吐不快,那么就喷出来吧,别憋着
...全文
107 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
ycxiaobao 2012-10-15
  • 打赏
  • 举报
回复
<bean id="user" class="com.XX.XX"/>
<bean id="list" class="java.util.LinkedList" />

<bean id="" class="">
<property name="user" ref="user">
<property name="list" ref=""list>

</bean>

67,538

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧