第二章 Spring的bean与传统的JavaBean
Spring中的bean既可以是Java实例也可以Java组件,同样包括传统的JavaBean;传统的JavaBean通常在Java应用中作为model,用来封装值对象,用于在各层之间进行传递
虽然Spring中的bean没有太多的要求,但是还是建议满足如下几个原则
(a)每个bean实现类都应提供无参数的构造函数
(b)如果是构造注入的bean,则应提供对应的构造器
(c)如果是设值注入的bean,则要提供对应的setter、getter方法(可以没有getter方法)
传统JavaBean与Spring中bean之间的区别:
(a)用处不同:
传统JavaBean更多作为值对象传递参数,Spring中bean用处几乎全部包括,任何应用组件都可以称为bean
(b)写法不同:
传统JavaBean要求为每一个属性均有setter与getter方法;Spring中bean如果是设值注入,则必须要为属性提供对应的setter方法
(c)生命周期不同:
传统JavaBean作为值对象传递参数不受任何容器管理器生命周期;Spring中的bean由Spring管理其生命周期。
(关于Spring对bean生命周期管理,详见spring中bean的生命周期管理)