Spring框架第一天知识总结

Spring jar包:

<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.0.2.RELEASE</version>
</dependency>

一 :Spring标签:

beans 根标签

bean 每一个javabean对应一个bean

id:标识符 唯一标识

class : 实例化javabean的全限定类名 供反射创建对象用的

scope : 对象的使用范围 !

scope中 singleton: 默认值 单例 每次getBean都是同一个

scope中 prototype: 原型的意思 但在这里是多例!! 每次getBean都会创建一个对象出来

二:测试中getBean的三种方式:

getBean("id")

getBean("id",T.class)

getBean(T.class)

三:Spring依赖注入(DI)两种方式

1.set注入方式 强烈推荐

通过 set方法注入
必须要求注入的属性有set方法

步骤
1:你要注入的属性 必须有 set方法

2:在 被注入的bean中 添加一个 <property>
<property>:属性标签
name 类中set方法 后面的名字
如果是 简单类型 value给值(直接给属性赋值即可)
如果是 pojo类型 ref 去关联那个 bean的id

2. 构造注入方式 认识一下理解一下 后面有的地方要用到

通过构造方法完成注入

1:必须要有带参的构造

2:constructor-arg:构造参数的意思 配置时必须类中的所有属性都要写全
例: <bean id="account" class="com.itheima.pojo.Account">
<constructor-arg name="name" value="jack"/>
<constructor-arg name="id" value="123"/>
<constructor-arg name="money" value="10000.1"/>
</bean>

四:IOC 的概念

IOC inverse of control 控制反转!

需要对象的时候,不再去new了,找到spring,取出来就可以了。

我们就是失去了一个权利(创建对象的权利),得到了一个福利(直接从spring中拿对象)。

思想称为IOC,控制反转!

作用:

IOC 用于 组件间的解耦!!

四: 面试题 描述IOC和DI

IOC和DI是一件事情,只是描述的角度不一样!!

IOC 控制反转,你失去一个创建对象的权利,得到一个福利(对象找spring).

Spring 就是在根据反射完成创建对象!!

DI 在创建对象的过程中,将属性设置到对象中!!

DI 依赖IOC发生!!

五:复杂类型注入:

例:<property name="myStrs">
<array>
<value>翟天临</value>
<value>吴秀波</value>
<value>黄海波</value>
</array>
</property>

六:面试题:ApplicationContext 和BeanFactory

都是启动容器的接口 ,对象加载的时间点不一样

ApplicationContext 属于 立即加载 指的就是 在读取完配置文件之后,就把所有的对象都创建出来!!

BeanFactory 属于 延迟加载 指的就是 getBean的时候 再去创建!!

猜你喜欢

转载自www.cnblogs.com/lgpliuguoping/p/11447554.html