1. IOC

空~2022年9月6日
  • Spring
大约 2 分钟

1. IOC

IoC (Inversion of Control) : 控制反转, 是一个理论,概念,思想

描述: 把对象的创建,赋值,管理工作都交给代码之外的容器实现, 也就是对象的创建是有其它外部资源完成

正转: 由开发人员在代码中,使用 new 构造方法创建对象, 开发人员主动管理对象

public static void main(String args[]){

Student student = new Student(); // 在代码中, 创建对象--正转

控制: 创建对象,对象的属性赋值,对象之间的关系管理

反转: 把原来的开发人员管理,创建对象的权限转移给代码之外的容器实现 由容器代替开发人员管理对象创建对象,给属性赋值

容器: 是一个服务器软件, 一个框架(spring)

为什么要使用 ioc : 目的就是减少对代码的改动, 也能实现不同的功能 实现解耦合

java 中创建对象有哪些方式:

  • 构造方法 , new Student()
  • 反射
  • 序列化
  • 克隆
  • ioc : 容器创建对象
  • 动态代理

ioc 的体现:

servlet:

  1. 创建类继承 HttpServelt
  2. 在 web.xml 注册 servlet ,使用
<servlet-name> myservlet </servlet-name>
<servelt-class>com.bjpwernode.controller.MyServlet1</servelt-class>
  1. 没有创建 Servlet 对象, 没有 MyServlet myservlet = new MyServlet()
  2. Servlet 是 Tomcat 服务器它为你创建的 Tomcat 也称为容器

Tomcat 作为容器: 里面存放的有 Servlet 对象, Listener , Filter 对象

IoC 的技术实现:

DI 是 ioc 的技术实现,

DI(Dependency Injection) :依赖注入, 只需要在程序中提供要使用的对象名称就可以, 至于对象如何在容器中创建, 赋值,查找都由容器内部实现