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知识库 -> Spring-IOC -> 正文阅读

[Java知识库]Spring-IOC

目录

一:IOC介绍(inversion of controll)

二:IOC技术实现

三:Spring的使用

3.1 创建对象

3.2 给属性赋值

3.2.1 set注入(设值注入)

3.2.2 构造注入

3.2.3?引用类型的自动注入

3.2.4 多个文件的配置

四:Spring—IOC的总结

五:注解

5.1 创建对象的其他注解

5.2 属性设值(简单类型)

5.3?属性设值(引用类型)

5.4?Autowire属性

5.5 @Resource赋值


一:IOC介绍(inversion of controll)

IOC控制反转(思想就是用容器管理对象)

IOC控制:对象创建、属性赋值、生命周期

正转:开发人员在代码中,使用new构造方法创建对象,属性赋值,生命周期控制。

IOC反转:由Spring容器完成开发人员的工作。通过容器使用容器中的对象(容器完成了开发人员的工作)。

二:IOC技术实现

2.1 依赖注入(DI):是IOC所干的事情,程序中只需要用对象的名称就可以通过过容器完成创建赋值获取等任务。

2.2 Spring是通过DI来实现IOC的,我们只需要知道类的名称即可完成依赖和注入。

2.3 Spring底层通过反射创建对象和赋值。

三:Spring的使用

3.1 创建对象

将spring作为一个容器,开发的时候使用注解来获取对象。

spring的配置文件中

自动生成的beans中包含约束条件

Spring容器对象的创建是无参构造

Spring容器在创建的时候读取xml中的文件,创建java对象,而不是getbean对象的时候

Spring在创建容器对象(ApplicationContext)的时候xml中有几个bean就创建几个java对象

Spring可以创建电脑文件中有的class文件,但是没有自定义类的对象

Spring既可以创建接口对象也可以创建类对象

3.2 给属性赋值

配置文件和注解都可以完成

3.2.1 set注入(设值注入)

Spring容器调用set方法,完成属性的赋值

基本数据类型和String的赋值value

引用类型的赋值为ref

3.2.2 构造注入

全参构造的基础下完成

<bean id="myStudent" class="com.rbynode.ba02.Student">
        <constructor-arg name="name" value="任彪煜"></constructor-arg>
        <constructor-arg name="age" value="22"></constructor-arg>
        <constructor-arg name="school" ref="myschool"></constructor-arg>
    </bean>
    <bean id="myschool" class="com.rbynode.ba02.School">
        <property name="name" value="中北大学"></property>
        <property name="address" value="太原市"></property>
    </bean>

3.2.3?引用类型的自动注入

当引用类型较多时,Spring容器提供了引用类型的自动注入

1.byname(按名称注入)

2.byType(按名称类型注入)

3.2.4 多个文件的配置

四:Spring—IOC的总结

五:注解

<@Compotent>表示:

<bean id = "myStudet" value="com.rbbynode.Student">

<@Compotent value = "myStudent">

5.1 创建对象的其他注解

5.2 属性设值(简单类型)

@Value注解:对下面一行的简单属性进行设值

外部文件属性配置

@Value(&{myname})

属性文件中myname=张三

5.3?属性设值(引用类型)

@Autowired(byType)
@Autowired(byname)
@Qualifier(value = "myschool")

5.4?Autowire属性

一般的话required的boolean值为真

5.5 @Resource赋值

对比@Autowire默认值是byType赋值

@Resouce默认值是byName赋值

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-09-21 00:12:55  更:2022-09-21 00:19:02 
 
开发: 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/23 9:32:29-

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