Spring中的bean对象
Spring的三种管理bean对象的方式:
1.xml配置文件中进行bean的配置
ClassPathXmlApplicationContext
2.基于JavaConfig配置类进行bean的配置(完全舍弃了xml配置文件)
AnnotationConfigApplicationContext
3.spring自动扫描bean 涉及的一系列的注解
@Component 组件(spring的bean对象)
@Controller 控制器
@Service 服务
@Repository 仓库
Bean的作用域
bean如何结束生命周期
Spring可以管理实例化结束之后,和销毁之前的行为,管理bean的生命周期行为主要未如下两个时机:
Bean全部依赖注入之后
Bean即将销毁之前
1)依赖关系注入后的行为实现:
有两种方法:A.编写init方法 B.实现InitializingBean接口
afterPropertiesSet和init同时出现,前者先于后者执行,使用init方法,需要对配置文件加入init-method属性
2)bean销毁之前的行为实现:
有两种方法:A.编写close方法 B.实现DisposableBean接口,调用destory()方法
destroy和close同时出现,前者先于后者执行,使用close方法,需要对配置文件加入destroy-method属性
Spring中Bean之间 继承、依赖、引用 三种关系:
继承关系:在Spring容器当中允许使用abstract标签来定义一个父bean,parent标签来定义一个子bean。子bean将自动继承父bean的配置信息。
依赖关系:Spring允许用户通过depends-on标签来设定bean的前置依赖bean,前置依赖的bean会在本bean实例化之前就创建好,来供本bean使用。如果前置依赖多个Bean,可以通过逗号或空格方式配置Bean名称。
引用关系:我们不光可以通过ref标签来引用其他的bean,而且可以通过idref标签来引用其他bean的名字。他的主要作用是:在Spring容器启动的时候就可以检查引用关系的正确性。那么这样就可以提前发现配置信息是否存在错误。