前面google了一番 找不到几个像样的解释
有人翻出《pojo in action》里面的说pojo不是javabean
然后我就晕了。。大家指导下 本人不才
前面google了一番 找不到几个像样的解释
有人翻出《pojo in action》里面的说pojo不是javabean
然后我就晕了。。大家指导下 本人不才
POJO是旧的JavaBean意思,那么什么是新的JavaBean,就是EJB,因为EJB2.0以前规范对JavaBean要求很多,搞得很复杂,这样大家怀念起旧的Javabean了,当时Spring推出正好符合这种要求。
现在EJB3以后,都是POJO了。
何为JavaBean应该无需解释,带有Setter/Getter这种Property属性类称为JavaBean,不过现在Scala等新语言中,主张抛弃Setter/Getter方法,不精简。
因为是很早以前概念,上面说得有些让人误解,画图如下:
JavaBean -->POJO ---> EJB 2 ---> Spring ---->EJB3/Spring
这是大概一个历史路径,POJO的特点是不继承或实现任何非业务类或接口,这样,我们开发的业务POJO就不依赖任何框架,而以前EJB2的Enterprise JavaBean是指定JavaBean需要继承实现EJBHome等用于分布式的接口。
POJO后来延伸为一种非侵入性代名词,也就是说:选择技术框架或开发框架,不能让别人基于你框架开发的JavaBean依赖你的框架,要实现这种目的,需要通过DI依赖注入 AOP等等技术才能实现。