1、定义2个接口。(不属于例子范畴):
package com.IoC;
public interface Person {
/**
* 使用斧子
*/
public void useAxe();
}
package com.IoC;
public interface Axe {
/**
* 砍的方法
*/
public String chop();
}
2、实现类:
package com.IoC;
public class Chinese implements Person{
private Axe axe;
/**
* 设值注入所需的setter方法
* @param axe
*/
public void setAxe(Axe axe)
{
this.axe = axe;
}
public void useAxe() {
System.out.println(axe.chop());
}
}
package com.IoC;
public class StoneAxe implements Axe{
public String chop() {
return "这是一把砍得很慢的破斧子!";
}
}
3、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"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
<!-- 以上是全部Spring都一样的配置文件 、beans是根元素-->
<bean name="chinese" class="com.IoC.Chinese">
<property name="axe">
<ref local="StoneAxe"/><!-- 如果注入的是基本类型则用value、如果是引用类型则使用ref -->
</property>
</bean>
<bean id="StoneAxe" class="com.IoC.StoneAxe"></bean>
</beans>
4、测试类:
package com.IoC;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.*;
public class testIoC {
/**
* @param args
*/
public static void main(String[] args) {
ApplicationContext ctx = new FileSystemXmlApplicationContext("/src/applicationContext.xml");
Person per = (Person)ctx.getBean("chinese");
per.useAxe();
}
}
5、主要原理:
StoneAxe类有一个使用斧子的方法,而chinese类是使用斧子的人。
xml里面申明2个bean,但是StoneAxe是chinese的一个属性,但是上面也有说到,value用于基本类型,而ref用于引用类型。运行chinese的时候,提供调用useAxe()进行使用“斧子”,而要引进StoneAxe则通过seter方法,进行后面的属性注入。
总结:
第一次开技术博客,第一次发表自己的原创文章,程序员的一个通病,会做,但是表达还有所欠缺,以后要多改进。
有问题的话大家可以互相探讨。
分享到:
相关推荐
Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- IOC容器 ---- 代码 Spring5 框架 ---- ...
Spring Ioc 注解 依赖注入
Spring Ioc源码分析系列--自动注入循环依赖的处理.doc
Spring Ioc源码分析系列--@Autowired注解的实现原理.doc
IoC 依赖注入 技术总结 IoC 依赖注入 技术总结
Spring IOC Annotation 注入 学习实例
spring IOC容器依赖注入XML配置详解 运行环境:eclipse 构建工具:maven 不提供maven构建,maven用来解决jar包的依赖
Spring IOC AOP MVC 简单例子
博文链接:https://roserouge.iteye.com/blog/195705
spring-core:核心模块 依赖注入IOC和DI的最基本实现 spring-beans:Bean工厂与装配 spring-context:上下文,即IOC容器 spring-context-support:对IOC的扩展,以及IOC子容器 spring-context-indexer:类管理组件和...
Spring IoC简单示例,使用注解配置依赖注入,使用Maven构建项目 Maven使用及SpringIoC教程参考我的Blog:http://blog.csdn.net/boyazuo
spring ioc开发最小依赖包4个,还包含两个辅助包commons-logging.jar和log4j.jar
详细讲解了springioc的各种注入方式以及对应的java方式。讲解了springioc和DI的区别,以及注入特殊复杂的属性
Spring IoC简单示例,使用XML配置依赖注入,使用Maven构建项目 Maven使用及Spring IoC教程参考我的Blog:http://blog.csdn.net/boyazuo
spring ioc容器初始化流程图 spring ioc容器依赖注入流程图 spring aop实现原理流程图
Java-Spring-SpringIoC容器-SpringIoC的学习 SpringIoC容器的学习笔记 主要介绍了IoC容器工作原理以及如何配置IoC容器 通过标签和注解配置容器
Spring IOC 技术的必备开发包,有了这些包就可以放心研究Spring IOC 技术了
SpringIOC_泛型依赖注入,泛型依赖注入,注入一个组件的时候,他的泛型也是参考标准
JavaEE spring IoC入门案例