• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

谷谷不咕咕

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

IoC/DI

IoC(nversion of Control,控制反转)/DI(Dependency Injection,依赖注入)

IoC:Inversion of Control(控制反转),读作“反转控制”可能会更好理解,不是什么新技术,而是一种设计思想。 基本意思是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。IOC很好的体现了面向对象设计法则之一—— 好莱坞法则:“别找我们,我们找你”;即由IOC容器帮对象找相应的依赖对象并注入,而不是由对象主动去找。

IoC理论:

把原本需要程序本身创建对象的功能移交给Spring框架处理,降低了程序的耦合性。使本该主动创建对象的程序变成被动去接收对象。

 由高耦合性-->降低耦合性---->

理想系统

DI:

Dependency Injection(依赖注入),指Spring创建对象的过程中,将对象依赖属 性(常量、对象、集合)通过配置.xml设置给对象。

入门案列:

第一步:编写HelloWorld程序

public class HelloWorld {
private String name;
public void setName(String name) {
this.name = name;
}
public void sayHi() {
System.out.println(name + "你好~");
}
}

-----------------------------------------------------------------------

第二步:在resources目录下配置一个.xml文件(spring-ioc,文件名自定)

<?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.xsd">
<!--
id:bean中的id属性,是给这个对象取的一个引用名称,在整个配置文件中必须唯一。便于别的bean对象引用 
class:bean中class属性,class属性是这个对象的完整路径(包名 + 类名)
property:如果这个对象中有属性需要设置(比如有一个setXxx()方法),那么在这个bean对象 中需要提供一个
property属性来给这个属性赋值。格式为:
<property name="name" value="girl"></property>
-->
   <bean id="helloWorld" class="zheng.HelloWorld">
<property name="name" value="Spring-IoC"></property>
</bean>
</beans>
-----------------------------------------------------------------------
第三步:编写一个测试程序
public class HelloTest {
public static void main(String[] args) {
ApplicationContext context = new
ClassPathXmlApplicationContext("spring-ioc.xml");
// 获取对象
HelloWorld helloWorld = context.getBean("helloWorld",
HelloWorld.class);
// 调用对象中的方法
helloWorld.sayHi();
}
}
-----------------------------------------------------------------------


 

posted on 2021-03-03 13:20  谷谷不咕咕  阅读(67)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3