Spring--复习02---IOC对象创建-----属性注入

IOC创建对象方式

1.调用无参数构造器

<bean id="user" class="cn.yan.spring.User"></bean>

2.调用有参构造函数
在这里插入图片描述

①通过下标

<bean id="user" class="com.peach.pojo.User">
     <constructor-arg index="0" value="peach"></constructor-arg>
</bean>

②通过类型赋值(如果两个参数都是String类型,则没有办法使用,所以不建议使用第二种)

<bean id="user" class="com.peach.pojo.User">
    <constructor-arg type="java.lang.String" value="peach"/>
</bean>

③直接通过参数名实现

<bean id="user" class="com.peach.pojo.User">
   	<constructor-arg name="name" value="peach"></constructor-arg>
</bean>

注意:

在配置文件中,容器中的bean 就已经创建出来了。

Spring 配置

1.别名
在这里插入图片描述
2.bean 的配置
在这里插入图片描述
3.import
一般用于团队开发使用,导入合并为一个配置内容
在这里插入图片描述

依赖注入( Dependency Injection)

解释:

  • bean对象的创建依赖于容器
  • bean 对象中所有的属性,都由容器来注入·。
1.构造器注入

ioc创建对象方式有参构造器注入一样

2.set 方式注入

在这里插入图片描述
①普通值注入
在这里插入图片描述
②bean注入
在这里插入图片描述在这里插入图片描述
③数组注入在这里插入图片描述
④List 注入·
在这里插入图片描述
⑤Map注入
在这里插入图片描述
⑥Set注入
在这里插入图片描述
⑦ null值注入
在这里插入图片描述
⑧Properties 注入
在这里插入图片描述

3.其他方式注入

p命名空间注入

 xmlns:c="http://www.springframework.org/schema/p"
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean name="classic" class="com.example.ExampleBean">
        <property name="email" value="someone@somewhere.com"/>
    </bean>

    <bean name="p-namespace" class="com.example.ExampleBean"
        p:email="someone@somewhere.com"/>
</beans>

c命名空间导入

 xmlns:c="http://www.springframework.org/schema/c"
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:c="http://www.springframework.org/schema/c"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="beanTwo" class="x.y.ThingTwo"/>
    <bean id="beanThree" class="x.y.ThingThree"/>

    <!-- traditional declaration with optional argument names -->
    <bean id="beanOne" class="x.y.ThingOne">
        <constructor-arg name="thingTwo" ref="beanTwo"/>
        <constructor-arg name="thingThree" ref="beanThree"/>
        <constructor-arg name="email" value="something@somewhere.com"/>
    </bean>

    <!-- c-namespace declaration with argument names -->
    <bean id="beanOne" class="x.y.ThingOne" c:thingTwo-ref="beanTwo"
        c:thingThree-ref="beanThree" c:email="something@somewhere.com"/>

</beans>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值