当前位置:首页-文章-Spring-正文

spring学习:依赖注入(DI)急速入门

DI:Dependency Injection 依赖注入,在Spring框架负责创建Bean对象时,动态的将依赖对象注入到Bean组件。

1、修改上一节的HelloServiceImpl

public class HelloServiceImpl implements HelloService {

    private String info;//没有初始化,spring会自动将配置的属性值赋给这个变量

    public void setInfo(String info) {

        this.info = info;

    }

    public void sayHello(){

        System.out.println("hello,spring:"+info);

    }

}

2、修改applicationContext.xml

...

<bean id="helloService"

        class="com.tianshouzhi.spring.HelloServiceImpl">

    <property name="info" value="Dependency Injection"></property>

</bean>

...

3、再次运行HelloServiceTest

控制台输出:

hello,spring:Dependency Injection

可以发现,这种利用spring注入属性值,不需要修改源代码。

而在传统写法中,由于实现类发生了向上转型,不能直接调用setInfo方法,因此如果要实现同样的效果,必须修改源代码—即spring修改了实现类,不需要修改其他地方的代码,只需修改配置文件;而传统方式中,修改了实现类之后,必须还要修改其他源代码。

 

所属专题:

相关文章

换一批