IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> IOC控制反转【spring核心】 -> 正文阅读

[Java知识库]IOC控制反转【spring核心】

目录

Spring的第一个核心功能ioc

为什么要使用IOC:

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

ioc的体现:

IOC的技术实现:DI是ioc的技术实现。

使用步骤:


Spring的第一个核心功能ioc

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

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

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

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

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

?容器:是一个服务器软件,或者一个框架(Spring)

?为什么要使用IOC:

目的就是减少对代码的改动,也能实现不同的功能,实现解耦合。

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

1.构造方法 new Student()

2.反射

3.序列化

4.克隆

5.ioc:容器创建对象

6.动态代理

ioc的体现:

servlet:

1.创建MyServlet类继承HttpServlet

2.在Web.xml注册servlet

3.没有创建Servlet对象,没有MyServlet servlet = new MyServlet()

4.Servlet是tomcat服务器它帮你创建的,Tomcat也称为容器

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

IOC的技术实现:DI是ioc的技术实现。

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

Spring是使用的DI实现ioc的功能,Spring底层创建对象,使用的是反射机制。

spring-context和spring-webmvc是spring中的两个模块

spring-context:是ioc功能的,创建对象的

spring-webmvc:是做web应用开发的,是servlet的升级

spring-webmvc中也会用到spring-context中创建对象的功能的。

?junt:单元测试,一个工具类库,做测试方法使用的。

单元:指定的是方法,一个类中有很多方法,一个方法称为单元

使用步骤:

1.需要在pom.xml中加入junit依赖

2.创建测试作用的类:叫做测试类

src/test/java目录中创建类

3.创建测试方法

(1)public 方法

(2)没有返回值 void

(3)方法名称自定义,建议名称是test+你要测试的方法名称

(4)方法没有参数

(5)方法的上面加入@Test,这样的方法是可以单独执行的,不用使用main方法。

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-02-24 15:08:34  更:2022-02-24 15:09:15 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 11:56:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码