Spring——IOC容器和bean

1.Spring IOC容器概述

1:spring IOC容器:

1.工作原理:spring容器会根据配置文件去组装和生产所需对象以供用户使用。

2.spring IOC容器基础:ApplicationContext和BeanFactory

2.BeanFactory

1.作用:对对象进行管理,负责对bean对象的实例化、装备和声明周期的管理

3.ApplicationContext

1.ApplicationContext是BeanFactory的一个子接口,比beanfactory添加了更多的功能。

2.ApplicationContext的实现:4种

主要2种:

(1)ClassPathXmlApplicationContext:上下文信息来自xml文件

(2)AnnotationConfigApplicationContext:基于Java的配置,就是采用注释的元数据配置方式

4.两者之间的区别

相同点:两者都是容器

不同点:(1)applicationcontext是beanFactory的子接口,比beanFactory拥有更多的功能,是他的一个完整的超集。beanFactory是ApplicationContext的基础。

(2)实例bean的载入方式不同:beanFactory延迟装载所有的bean,直到getBean()方法调用的时候才被创建;ApplicationContext启动之后装载所有单实例bean。


2.Bean的概述

1.bean的实例化

bean通过容器的配置元数据进行创建。

bean的实例化:3种

(1)通过构造方法

(2)使用静态工厂方法

(3)使用实例工厂方法

2.bean的生命周期

实例化->设置属性->设置bean名称,bean工厂,应用上下文->预处理(在初始化之前)->初始化bean->预处理(在初始化之后)->bean已经准备好->销毁bean

1.实例化:spring实例化bean

2.注入属性:根据配置文件进行属性注入property

<bean id="student" class="com.lifeCycle.Student" >

<property name="name" value="liming"></property>

<property name="age" value="19"></property>

</bean>

3.设置bean名称,bean工厂,上下文(这一步可省略不写):实现*aware接口

(1)BeanNameAware:获得该bean在容器中的名字

(2)BeanFactoryAware:获得beanFactory对象用来检测bean的作用域或者创建其他的bean

•ResourceLoaderAware:获得ResourceLoader对象,可以获得classpath中某个文件

•ServletContextAware:在一个MVC应用中可以获取ServletContext对象,可以读取context中的参数

•ServletConfigAware在一个MVC应用中可以获取ServletConfig对象,可以读取config中的参数

4.初始化:initialization。初始化方式:3种

•实现InitializingBean和DisposableBean接口(不推荐)

实现接口

•在bean的配置文件中制定init-method和destroy-method方法

配置文件
注解方式

•使用@PostConstruct和@PreDestroy注解(9之后不能直接写)

3.bean的作用域

1.singleton:默认的每个容器作用域当中的一个bean只实例化一个实例。
2.prototype:一个bean对应多个对象实例
3.request 4.session 5.global 6.session 7.application

4.bean的注入

依赖注入:

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • @陈镜 上个月 网购账单 一万二 杜副科长 吃饭的时候 突然冒了一句 给女朋友买 阿冉 逮住机会挑事 哼 给她们花...
    关中陈镜阅读 2,350评论 0 4
  • ——最伟大的十首英文诗第八首—— 奥兹曼迪亚斯 原著:波西・别希・雪莱译者:寒峰我见过一个从那个古老之地归来的旅者...
    泰华阅读 12,779评论 0 1
  • 2017年10月11日 坚持分享第62天 常言道:好身体是革命的本钱,前天送一个学生回家,吹了冷风不小心...
    周老师成长记录仪阅读 3,502评论 0 1

友情链接更多精彩内容