IoC 中 car 对象的配置如下,现在要添加 user 对象,并且将 car 注入到 user 中,正确的配置是?

99封情书 提交于 2019-11-25 20:14:00
 <bean id="car" class="com.southwind.entity.Car"></bean>

 

Spring三种注入

设值注入--注入方式1/3

<bean id="user" class="com.cosmos.entity.User">

<!-- 注入List集合(不重复,有序) -->

<property name="list1" >

<list>

<value>123</value>

<value>124</value>

</list>

</property>

<!-- 注入Set集合(重复无序) -->

</bean>

通过property来实现给对象的属性赋值。

 

构造注入--注入方式2/3

创建带参构造方法

编写带参构造方法后,Java虚拟机不再提供默认的无参构造方法,为了保证使用的灵活性,建议自行添加一个无参构造方法。

怎么实现构造呢?

<bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl">

<constructor-arg>

<ref bean="userDao"/>

</constructor-arg>

</bean>

构造注入和设值注入区别在于设值注入使用setter方法给属性设值,而构造注入则是将属性通过有参构造来初始化属性值。

 

P命名空间注入--注入方式3/3

p命名空间的特点:使用属性而不是子元素的形式配置Bean的属性,从而简化了配置代码。

语法:

对于直接量(基本数据类型、字符串)属性:p:属性名=“属性值”

对于引用Bean的属性:p:属性-ref=Bean的id

使用前要先在Spring配置文件中引入p命名空间

Xmlns:p=”http://www.springframework.org/schema/p”

使用p命名空间注入属性值

<bean id="user" class="com.cosmos.entity.User" p:name="张三" p:age="21" p:email="raycosmos@qq.com">

 

</bean>

<bean id="userServiceImpl" class="com.cosmos.service.impl.UserServiceImpl" p:dao-ref="userDaoImpl">

<property name="dao" ref="userDaoImpl"></property>

</bean>

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!