spring学习第一天

Spring框架的核心是基于控制反转(IOC)的原理。IOC是一直将组件依赖项的创建和管理外部化的技术。传统项目A类依赖B类的一个实例执行某种操作,在A类中通过B b = new B();这种方式或者从某个工厂中获取B的实例。而使用IOC方法,B类的实例在运行时由某个外部进程提供给A类,这种运行时注入依赖的行为将IOC重命名为依赖注入(DI).

spring的DI实现基于两个核心概念:javaBean和接口。

springIOC分为 依赖查找和依赖注入

依赖查找:

依赖拉取和上下文依赖查找  这里不做多的说明

依赖注入:构造方法注入和setter注入

构造方法注入:当对象的构造函数中提供依赖的时候,就会发生构造函数的依赖注入。首先对象声明一个构造函数,并将依赖项作为参数,然后在对象实例化的时候由IOC容器将依赖传递给对象。 

使用构造函数注入 如果没有依赖项就不能创建对象

setter注入:在setter依赖注入中,IOC容器通过JavaBean样式的setter方法注入对象依赖项,对象的setter方法公开了ioc容器可以管理的依赖项。

setter注入可以在没有依赖项的情况下创建对象。然后通过调用setter来提供依赖项。

 

spring依赖注入

spring依赖注入容器的核心时beanFactory接口,BeanFactory负责管理对象,包括依赖项和它们的生命周期。

BeanFactory :为每一个bean分配一个id或者名称,一个bean也可以没有id或名称(匿名bean),或者作为另一个bean的内部bean被实例化,每个bean至少有一个名称,可以使用bean id或者名称从BeanFactory中检索出一个bean,并建立依赖关系。

接下来实现一个用beanFactory的实例

一个人接口

一个男人实现类

BeanFactory实现

 配置文件

最后打印结果

 

说了BeanFactory 接下来说说 它的扩展接口 ApplicationContext

 ApplicationContext

ApplicationContext是beanFactory的扩展,除了DI服务,还提供事务,AOP服务,国际化服务的消息源以及应用程序事件处理

app-context.xml配置文件 

这行注解等同于上面的  

<context:component-scan base-package="com.jiy.pojo"/>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值