Spring IOC反转再理解

IOC反转是通过applicationContext.xml配置文件来配置bean,并通过该配置文件实现类的实例化,这样的做得优点是非侵入式,降低各类之间的耦合性,但如果通过DI注入的化,
优点是什么。。。,还不清楚,感觉通过引用,在可读性上感觉会变差。

applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>

<bean name="source" class="pojo.Source">
	<property name="fruit" value="橙子" />
	<property name="suga" value="多糖" />
	<property name="size" value="超大杯" />
</bean>
<bean name = "juiceMaker" class="pojo.JuiceMaker">
	<property name="source" ref="source" />
</bean>

Souce.class
package pojo;

public class Source {
private String fruit;
public String getFruit() {
return fruit;
}
public void setFruit(String fruit) {
this.fruit = fruit;
}
public String getSuga() {
return suga;
}
public void setSuga(String suga) {
this.suga = suga;
}
public String getSize() {
return size;
}
public void setSize(String size) {
this.size = size;
}
private String suga;
private String size;
}
JuiceMaker .class
package pojo;

public class JuiceMaker {
private Source source = null;
public Source getSource() {
return source;
}
public void setSource(Source source) {
this.source = source;
}
public String makeJuice(){
String juice = “xxx用户点了一杯” + source.getFruit() + source.getSuga() + source.getSize();

	return juice;
}

}

package pojo;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

Testspring
public class Testspring {

/**
 * @param args
 */
public static void main(String[] args) {
	ApplicationContext context = new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
	Source source = (Source)context.getBean("source");
	System.out.println(source.getFruit());
	JuiceMaker juiceMaker = (JuiceMaker)context.getBean("juiceMaker");
	System.out.println(juiceMaker.makeJuice());
	
}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值