依赖注入(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.dandelioncloud.spring.HelloServiceImpl">
<property name="info" value="Dependency Injection"></property>
</bean>
...
3、再次运行HelloServiceTest
控制台输出:
hello,spring:Dependency Injection
可以发现,这种利用spring注入属性值,不需要修改源代码。
而在传统写法中,由于实现类发生了向上转型,不能直接调用setInfo方法,因此如果要实现同样的效果,必须修改源代码—即spring修改了实现类,不需要修改其他地方的代码,只需修改配置文件;而传统方式中,修改了实现类之后,必须还要修改其他源代码。
还没有评论,来说两句吧...