Spring中IOC容器

该笔记来源于尚硅谷视频Spring5讲解后自己手写,用于复习
摘要由CSDN通过智能技术生成

一、IOC容器

IOC底层原理

IOC的概念和原理

1.什么是IOC?

(1)控制反转,把对象创建和对象之间的调用过程,交给Spring进行管理

(2)使用IOC目的:为了降低耦合度

2.IOC底层原理

(1)xml解析、工厂模式、反射

IOC 的操作

第一步 xml配置文件,配置创建对象

<bean id="dao" class="com.lp.UserDao"></bean>

第二步 有service类和dao类,创建工厂类

 

IOC接口(BeanFactory)

1.IOC思想基于IOC容器完成,IOC容器底层就是对象工厂

2.Spring提供IOC容器实现两种方式:(两个接口)

(1)BeanFactory:IOC容器的基本使用,是Spring内部的使用接口,不提供开发人员进行使用

特点:加载配置文件的时候不会创建对象,在获取(使用)对象的时候才会创建对象

(2)ApplicationContext:BeanFactory接口的子接口,提供更多更强大的功能,一般由开发人员进行使用

特点:加载配置文件的时候就会吧在配置文件对象进行创建

3.ApplicationContext的主要实现类

IOC操作Bean管理(基于XML)

什么是Bean管理?

(1)Spring 创建对象

(2)Spring注入属性

1.基于xml方式创建对象

<bean id="dao" class="com.lp.UserDao"></bean>

(1)属性介绍:

id属性:唯一标识

class属性:类全路径(包类路径)

(2)创建对象时候,默认是执行无参数构造方法

2.基于xml方式注入属性:

(1)DI:依赖注入,就是注入属性

第一种注入方式:使用set方法注入

①创建类,定义属性和对一个的set方法

②在spring配置文件配置对象创建,配置属性注入

使用property完成属性注入:name:类里面属性名称

value:向属性注入的值

 <!--set方法注入属性-->
      <bean id="book" class="com.lp.springDemo1.book.Book">
          <property name="bname" value="《格林童话》"></property>
          <property name="bauthor" value="安徒生"></property>
      </bean>

第二种注入方式:使用有参构造注入

<!--构造方法注入属性-->
      <bean id="book" class="com.lp.springDemo1.book.Book">
          <constructor-arg index="0" value="《西游记》"></constructor-arg>
          <constructor-arg index="1" value="吴承恩"></constructor-arg>
      </bean>

注意:xml注入其他类型的属性

1.字面量

(1)null值

<property name="bauthor">
      <null></null>
  </property>

(2)属性值包含特殊符号

①把<>进行转义&lt,&rt

②把带特殊符号的内容写到CDATA中,如:

<property name="bauthor">
      <value><![CDATA[《水浒传》]]></value>
  </property>

2.注入属性——外部bean

(1)创建两个类 service类和dao类

(2)在service调用

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黎辰爱学习

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值