关于Java Bean
在说明Java Bean之前,首先要说明一下两个概念:Java反射机制和控制反转(IoC)。水平所限,本文对两个概念的
介绍比较简单,如有需要请自行查找相关资料。
java反射机制:
反射这一概念最早由Smith在1982年提出,主要指应用程序访问、检测、修改自身状态与行为的能力。
java反射机制原理:
java中存在一个特殊的类,Class类,它的对象用于描述java运行时的类或接口。当一个类被加载到JVM时,便自动生
成一个Class类对象。经由这个生成的Class类对象,调用java.lang.reflect包提供的API,可获取运行时类的属性、方法
等信息。
控制反转IoC:
控制反转(IoC)是面向对象编程中的一种设计原则,用来减少代码之间的耦合度。通过控制反转,对象在被创建的时
候,由一个调控系统内所有对象的外界实体(IoC容器),将代码所依赖的对象的引用传递给它。通常在Class A需要用到
Class B的对象b时,需要在Class A中显式的new 一个Class B对象。在复杂的系统中,这样的依赖关系随处可见,IoC模
式下,系统通过引入实现了IoC模式的IoC容器,即可由IoC容器来管理对象的生命周期、依赖关系等,从而使得应用程序的
配置和依赖性规范与实际的应用程序代码分离。理解控制反转的关键在于明确“谁控制谁”,什么是反转,控制反转,即由传
统编程中我们自己在对象中主动控制依赖对象的创建获取(使用new方法),反转为由IoC容器去统一管理依赖对象的创建(
依赖注入)。依赖对象的获取,由对象主动创建(new)变成了由IoC容器帮我们查找注入,所以我们说控制被反转了,也即
是控制反转。
Java Bean
理解了控制反转,Java Bean就很好理解了。把IoC容器当作一个豌豆工厂(BeanFactory),那么Java Bean就可以
当作是豌豆工场管理的一个个小豌豆(Bean)。通俗一点,Bean就是IoC容器控制管理的一个个对象。控制反转一个很重
要的实现策略就是依赖注入,依赖注入被用于Java BeanFactory,以解决bean之间的依赖问题。
Java BeanFactory
BeanFactory就是一个典型的IoC容器,采用懒加载的方式实现对象的实例化和依赖注入,即对象在要使用的时候才
初始化和注入,所以容器启动较快。
另一种较高级的IoC容器是ApplicationContext,继承了BeanFactory,在启动容器时就会实例化对象并注入依赖,
同时提供了其他高级特性。
更多文章,关注公众号: