Spring注入方式

一.Spring注入的方式通常有两种:
(1)属性的set注入(推荐使用
(2)构造方法注入(不推荐
关键类如下:
Chinese类:

package com.java.spring;
public class Chinese implements Person {
    private Tool tool;
    //方法1:使用set方法(推荐使用)
    public Tool getTool() {
        return tool;
    }
    public void setTool(Tool tool) {
        this.tool = tool;
    }
    /*//方法2:构造方法(少用)
    public Chinese(Tool tool){
        this.tool=tool;
    }
    */
    @Override
    public void work() {
        // TODO Auto-generated method stub
        tool.realwork();
    }

}

ConcreteToolA类:

package com.java.spring;
public class ConcreteToolA implements Tool {
    @Override
    public void realwork() {
        // TODO Auto-generated method stub
        System.out.println("from concreteToolA");
    }
}

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<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 http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">

    <bean id="toolA" class="com.java.spring.ConcreteToolA"></bean>
    <bean id="toolB" class="com.java.spring.ConcreteToolB"></bean>

    <bean id="chinese" class="com.java.spring.Chinese">
        <property name="tool" ref="toolB"></property>
        <!--  方法2:少用
        <constructor-arg>
            <ref local="toolA"/>
        </constructor-arg>
    --></bean>

</beans>

对于bean的autowire属性来说,推荐使用default默认值即手工完成属性的注入工作

发布了21 篇原创文章 · 获赞 6 · 访问量 4万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章