结构:

HelloWorld.java:

package com.spring.test.helloWorld;public interface HelloWorld {public void sayHello();}

HelloWorldService.java:

package com.spring.test.helloWorld;public class HelloWorldService {private HelloWorld helloWorld;public HelloWorldService() {}public void setHelloWorld(HelloWorld helloWorld) {this.helloWorld = helloWorld;}public HelloWorld getHelloWorld() {return this.helloWorld;}}

SpringHelloWorld.java:

package com.spring.test.helloWorld.impl;import com.spring.test.helloWorld.HelloWorld;public class SpringHelloWorld implements HelloWorld {@Overridepublic void sayHello() {System.out.println("Spring Say Hello!!");}}

StrutsHelloWorld.java:

package com.spring.test.helloWorld.impl;import com.spring.test.helloWorld.HelloWorld;public class StrutsHelloWorld implements HelloWorld {@Overridepublic void sayHello() {System.out.println("Struts Say Hello!!");}}

beans.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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="springHelloWorld"class="com.spring.test.helloWorld.impl.SpringHelloWorld"></bean><bean id="strutsHelloWorld"class="com.spring.test.helloWorld.impl.StrutsHelloWorld"></bean><bean id="helloWorldService"class="com.spring.test.helloWorld.HelloWorldService"><property name="helloWorld" ref="springHelloWorld"/></bean></beans>

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.spring</groupId><artifactId>Spring</artifactId><version>0.0.1-SNAPSHOT</version><dependencies><!-- Spring Core --><!-- http://mvnrepository.com/artifact/org.springframework/spring-core --><dependency><groupId>org.springframework</groupId><artifactId>spring-core</artifactId><version>4.1.4.RELEASE</version></dependency><!-- Spring Context --><!-- http://mvnrepository.com/artifact/org.springframework/spring-context --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>4.1.4.RELEASE</version></dependency></dependencies>
</project>

HelloProgram.java:

package com.spring.test;import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.spring.test.helloWorld.HelloWorld;
import com.spring.test.helloWorld.HelloWorldService;
public class HelloProgram {public static void main(String[] args) {ApplicationContext context =new ClassPathXmlApplicationContext("beans.xml");//读取beans.xml 文件来创建一个应用程序上下文对象HelloWorldService service =(HelloWorldService) context.getBean("helloWorldService");HelloWorld hw= service.getHelloWorld();hw.sayHello();}
}

运行HelloProgram.java

修改beans.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/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><bean id="springHelloWorld"class="com.spring.test.helloWorld.impl.SpringHelloWorld"></bean><bean id="strutsHelloWorld"class="com.spring.test.helloWorld.impl.StrutsHelloWorld"></bean><bean id="helloWorldService"class="com.spring.test.helloWorld.HelloWorldService"><property name="helloWorld" ref="strutsHelloWorld"/><!-- IoC容器创建strutsHelloWorld对象并通过setter方法注入依赖 --></bean></beans>

运行HelloProgram.java:

转载于:https://www.cnblogs.com/Alwaysbecoding/p/6942145.html

Spring-IOC相关推荐

  1. spring IOC创建对象方式

    spring IOC创建对象方式 通过无参构造来创建 验证方法: 创建实体类: public class User {private String name;public User() {System ...

  2. spring ioc原理分析

    spring ioc原理分析 spring ioc 的概念 简单工厂方法 spirng ioc实现原理 spring ioc的概念 ioc: 控制反转 将对象的创建由spring管理.比如,我们以前用 ...

  3. Spring IoC是如何进行依赖注入的

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试文章 依赖注入(DI) DI(Dependency Injection) ...

  4. 面试被问烂的 Spring IOC(求求你别再问了)

    点击上方"方志朋",选择"置顶或者星标" 你的关注意义重大! 作者:莫那·鲁道 链接:http://thinkinjava.cn 广义的 IOC IoC(Inv ...

  5. spring根据名称获取bean_带你从零开始手写 spring ioc 框架,深入学习 spring 源码

    IoC Ioc 是一款 spring ioc 核心功能简化实现版本,便于学习和理解原理. 创作目的 使用 spring 很长时间,对于 spring 使用非常频繁,实际上对于源码一直没有静下心来学习过 ...

  6. 还不懂spring IOC核心原理?200行代码带你手撸一个

    Spring做为Java企业级应用的开源开发框架,早已成为Java后端开发事实上的行业标准,无数的公司选择Spring作为基础的开发框架. 使用Spring框架的人一定都听过Spring的IoC(控制 ...

  7. 头条一面:Spring IOC容器中只存放单例Bean吗?

    最近,很多小伙伴出去面试,感觉自己面的不是很理想,回来后,不少小伙伴把面试题做了记录发给我,让我给大家解析下,然后发出来.当我看到这些面试题时,快速在脑海中构建起了整个知识体系,从基础到框架.从分布式 ...

  8. 谈谈对Spring IOC的理解

    2019独角兽企业重金招聘Python工程师标准>>> 学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人 ...

  9. Spring点滴一:Spring Ioc 容器

    Spring 容器: Spring 容器是Spring框架的核心.Spring容器将创建Bean对象实例,把它们联系在一起,配置它们,并管理它们整个生命周期从创建到销毁.Spring 容器通过依赖注入 ...

  10. MyEclipse Spring 学习总结一 Spring IOC容器

    一.Spring IOC容器---- Spring AllicationContext容器 程序的结构如下: 1.首先在MyEclipse 创建创建Java Project 2.创建好后,添加spin ...

最新文章

  1. 【计算机网络】传输层 : TCP 流量控制 ( 流量控制过程 | 持续计时器机制 )
  2. lucene索引合并与增量索引
  3. 嵌入式开发/调试辅助工具
  4. 单片机模块学习之键盘
  5. 2020-11-16(深入理解计算机系统2.4节选)
  6. java list 面试题_java【集合】面试题
  7. JAVA spring 常用包作用详解(转)
  8. 如何安装新的PHP扩展模块
  9. Linux进程管理与调度-之-目录导航【转】
  10. 【点阵液晶编程连载四】MenuGUI 菜单应用
  11. JSTL的一些使用规范,坑
  12. Swing-文本输入组件(一)
  13. SQL Server性能常用语句
  14. 实现二叉树各种遍历算法
  15. 红旗Linux9不让登录wechat,关于网页版微信无法登陆以及wechat全平台使用的问题
  16. aistudio 常规赛:钢铁缺陷检测挑战赛 经验总结,轻松复现map 47排名再度提升
  17. 阿里软件测试面试记录
  18. 凌晨3点不回家-现实版
  19. vue项目中gojs最新V2.2.5版本去除水印
  20. thinkpad E570重装系统后声音不能外放

热门文章

  1. Unity3D SceneView Camera
  2. [linux内存]伙伴系统学习笔记(一)——概念
  3. 函数矩阵OpenGL中glFrustum()和gluPerspective()的相互转换
  4. C++_类和对象_对象特性_拷贝构造函数调用时机---C++语言工作笔记042
  5. JAVA线程池_并发队列工作笔记0003---线程池的分类_可缓存线程池_定长线程池_定时线程池_单例线程池
  6. 杭电1963 完全背包
  7. 杭电1259ZJUTACM
  8. mysql工厂模式_设计模式-三种工厂模式实例
  9. 随想录(easyx开发上位机)
  10. 随想录(程序语言只是SE的敲门砖)