spring—Bean配置

文章目录


概述:
在Spring中,对象无需自己查找或创建与其所关联的其它对象。相反,容器负责把需要相互写作的对象引用赋予各个对象。Spring容器负责创建应与程序中的Bean并通过DI(依赖注入)来协调这些对象之间的关系。作为开发人员,只需要告诉Spring要创建哪些Bean并且如何将其装配在一起。对于如何装配Bean,Spring提供了三种装配机制:

  • 基于XML文件
  • 基于注解
  • 自动装配

依赖注入的三种方式:

  • 属性注入
  • 构造器注入
  • 工厂方法注入

有如下类

@Data
@ToString
public class Car {
    private String brand;
    private String corp;
    private int price;
    private double maxSpeed;

    public Car(String brand, String corp, int price) {
        this.brand = brand;
        this.corp = corp;
        this.price = price;
    }

    public Car(String brand, String corp, double maxSpeed) {
        this.brand = brand;
        this.corp = corp;
        this.maxSpeed = maxSpeed;
    }
}
1. 属性注入

通过setter方法 注入Bean的属性值 元素
使用name 属性指定bean属性名称 value属性或子节点指定属性值

	    <bean id="helloWorld" class="com.duyu.beans.HelloWorld">
	        <property name="name" value="Spring"></property>
	    </bean>
  1. 构造器注入
 <!--通过构造方法来配置bean 的属性-->
    <bean id="car" class="com.duyu.beans.Car">
        <constructor-arg value="Audi" index="0"></constructor-arg>
        <constructor-arg value="ShangHai" index="1"></constructor-arg>
        <constructor-arg value="300000" type="double"></constructor-arg>
    </bean>

    <!--使用构造器注入属性值可以指定参数的位置和参数的类型, 以区分重载的构造器-->
    <bean id="car2" class="com.duyu.beans.Car">
        <constructor-arg value="Audi" type="java.lang.String"></constructor-arg>
        <!--如果字面量包含特殊字符可以使用<![DATA[]]> 包裹起来-->
        <!--属性值也可以使用 value 直接进行配置-->
        <constructor-arg type="java.lang.String">
            <value><![CDATA[<ShangHai^>]]></value>
        </constructor-arg>
        <constructor-arg type="int">
            <value>240</value>
        </constructor-arg>
    </bean>

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值