Spring是一个基于IOC和AOP的结构J2EE系统的框架
IOC(Inversion Of Control) 反转控制 是Spring的基础,由容器控制应用程序获取外部资源而非程序主动获取。
简单说就是创建对象由以前的程序员自己new 构造方法来调用,变成了交由Spring创建对象
DI(Dependency Inject) 依赖注入 . 简单地说就是拿到的对象的属性,已经被注入好相关值了,直接使用即可。

下面例子通过Spring获取一个对象,并打印其name。
步骤1.新建项目,导入spring框架中lib下的jar包。导包办法:右键 project->properties->java build path->libaries->add external jars

步骤2.创建Catagory类,定义两个私有属性及其setter和getter

package com.how2java.pojo;
public class Category {public int getId() {return id;}public void setId(int id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}private int id;private String name;
}

步骤3.在src目录下新建applicationContext.xml文件
applicationContext.xml是Spring的核心配置文件,配置了BeanFactory可以生产的Bean的“图纸”,这里可通过反射获取Category的的实例,该实例获取的时候,注入字符串"Hello Sping!“到具体实例的name属性中。

步骤4.通过spring获取Category对象,以及该对象被注入的name属性。
如图所示,可以打印出通过Spring拿到的Category对象的name属性。
首先通过ClassPathXmlApplicationContext类手动实例化ApplicationContext容器(获得一个Bean工厂);
然后调用getBean("bean's name")方法产生一个名称为c的Bean。

注意
1.配置文件中bean里的name属性是为了产生Bean实例的时候定位到某个具体的"图纸",和产生的实例的名字没有关系。
2.一个容器可以以字符串数组的形式添加多个xml。
3.命名规范:类名首字母大写,但是注入变量名首字母必须小写!必须小写!必须小写!

Sping(一)——IOC/DI相关推荐

  1. 工厂方法模式与IoC/DI

    工厂方法模式与IoC/DI IoC--Inversion of Control  控制反转  DI--Dependency Injection   依赖注入 1:如何理解IoC/DI         ...

  2. 在X++中使用IoC/DI模式应对不断变化的客户需求

    IoC/DI(Inverse of Control/Dependency Injection,控制反转/依赖注入)模式是一种企业级架构模式,通过将应用程序控制权反转交移给框架,并以构造器注入.属性设置 ...

  3. 认识Spring核心容器IoC/DI

    对于 Java 编程来说,使用 Spring 能完成的更加快速,更容易并更安全.Spring 专注于速度,便捷与开发效率,也正是如此,让Spring成为了全世界最流行的 Java 框架.从配置到安全, ...

  4. Spring+IOC(DI)+AOP概念及优缺点

    Spring pring是一个轻量级的DI和AOP容器框架. 说它轻量级有一大部分原因是相对与EJB的(虽然本人从没有接触过EJB的应用),重要的是,Spring是非侵入式的,基于spring开发的应 ...

  5. AutoFac IoC DI 依赖注入

    AutoFac IoC DI 依赖注入 记录点点滴滴知识,为了更好的服务后来者! 一.为什么使用AutoFac? 之前介绍了Unity和Ninject两个IOC容器,但是发现园子里用AutoFac的貌 ...

  6. 手撸Spring系列4:IOC/DI 思想(实战篇)

    说在前头: 笔者本人为大三在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正. ...

  7. 手撸Spring系列2:IOC/DI 思想(源码篇-IOC)

    说在前头: 笔者本人为大三在读学生,书写文章的目的是为了对自己掌握的知识和技术进行一定的记录,同时乐于与大家一起分享,因本人资历尚浅,发布的文章难免存在一些错漏之处,还请阅读此文章的大牛们见谅与斧正. ...

  8. Spring的IOC/DI

    一.Spring框架模块结构 Spring Framework是由Spring团队研发的模块化.轻量级开源框架.其主要目的是为了简化项目开发. Test 对应spring-test.jar. Spri ...

  9. Spring框架IoC/DI原理及实现

    1.概念 IoC:指将对象的创建权,交给到Spring容器: DI :指Spring创建对象的过程中,将对象依赖的属性通过配置的方式自动的设值给当前的对象 . IoC/DI注解详解 完成IoC/DI, ...

  10. 6. Laravel5学习笔记:IOC/DI的理解

    介绍 IOC 控制反转 Inversion of Control 依赖关系的转移 依赖抽象而非实践 DI 依赖注入 Dependency Injection 不必自己在代码中维护对象的依赖 容器自动根 ...

最新文章

  1. vim复制代码包含注释时格式会乱掉的解决办法
  2. 80页笔记看遍机器学习基本概念、算法、模型,帮新手少走弯路
  3. MongoDB记录操作日志的Base类实现
  4. opencv 报错:Error: Assertion failed (data) in cv::Mat::at, file ... mat.inl.hpp, line 897(访问了不存在矩阵的像素)
  5. oracle ora-24247 ACL,ORACLE 11G 存储过程发送邮件(job),ORA-24247:网络访问被访问控制列表 (ACL) 拒绝...
  6. 【两种解法】基础实验4-2.2 列出叶结点 (25 分)
  7. 在线邮箱订阅反馈html5模板
  8. python 欢迎自己程序编写_神操作!一句查询让Python帮忙自己写程序
  9. Android——ImageView报错:不是可绘制对象(颜色或路径)
  10. 宗成庆《统计自然语言处理》 目录的思维导图
  11. 以太网电缆行业调研报告 - 市场现状分析与发展前景预测
  12. PHP香港微信跨境支付,微信支付-跨境支付开发者文档
  13. 计算机操作系统笔记第八章磁盘存储器的管理
  14. Mac上一款最受欢迎的SSH客户端
  15. 是时候让AI辅助你追剧了,以《猎场》为例
  16. Node.js相关资源
  17. PPPwizard1.4.3软件使用说明中文翻译稿
  18. 红警ol服务器维护,红警OL基地升级条件汇总 腾讯红警OL手游基地升级表
  19. Cisco 第3章 基本网络连接和通信 测试考试答案
  20. 计算机报录比多少算高,报录比多少合适?怎么算好考?我来告诉你答案

热门文章

  1. XNA开发思考之3D开发中的小常识
  2. 指针运算不同于算数运算,不能简单加减
  3. 2015-2月的小程序们
  4. idea导入gitlab上面的项目
  5. 用计算机表白的数字,用数字表白
  6. 矩阵的对数运算公式_必修一——对数与对数运算
  7. 口腔取模过程及注意事项_康贝齿科首家引进LAUNCA数字化口腔扫描,走进口腔数字化诊疗时代!...
  8. 信号与系统sa函数求积分_瞎扯数学分析微积分(1~4)
  9. javascript中数据类型及转换、String()和toString()的区别
  10. 数据结构:在一个单链表中,若删除p指向节点的后继节点,则执行的操作为:( )