该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-09-08
引用 这个消息对于spring来说是一个重大的消息,重量级人物的加盟让Spring显得前途更加光明,并且Java世界主流的AOP框架统一起来也指日可待了。
EJB3和Spring有相互重叠的地方。而EJB3规范定义的injection也更将decent。 在business object中定义一个EntityManager, business Object可以是一个session bean, msg driven bean,或者就是一个java bean. 引用 @PersistenceContext(unitName="order") EntityManager em; 然后在business method中使用em来做操作。并不要求一定要扩展某个template什么的。 目前的趋势是EJB3 core container可以做得很小和spring一样,所以说有ejb3使不是spring的killer的讨论。 如果spring对ejb3 persistence api的支持还是用template的模式,我觉得前途可不一定好。 P.S. 为什么冬眠村和spring村械斗,大概有点这个意思。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2005-09-08
Charlesxp 写道 而EJB3规范定义的injection也更将decent。 能解释一下啥叫decent的injection吗?
Charlesxp 写道 并不要求一定要扩展某个template什么的。如果spring对ejb3 persistence api的支持还是用template的模式,我觉得前途可不一定好。
spring里面并不是要继承XXXTemplate,而一般是XXXDaoSupport,XXXDaoSupport很简单,具体操作都由XXXTemplate完成,看样子XXXTemplate和EntityManager倒很相似。我看不出template的模式和spring的前途有啥关系呀? |
|
返回顶楼 | |
发表时间:2005-09-08
EntityManager跟hibernate的session相似。
引用 能解释一下啥叫decent的injection吗?
EJB container不需要用户extends XXXsupport来获得Injection, 只需要声明,更简单和友好。Spring也会朝着相同的方向走。 |
|
返回顶楼 | |
发表时间:2005-09-08
可惜阿
冬眠和春天如果统一。 j2ee开发就简单多了。 |
|
返回顶楼 | |
发表时间:2005-09-08
Charlesxp 写道 EntityManager跟hibernate的session相似。
引用 能解释一下啥叫decent的injection吗?
EJB container不需要用户extends XXXsupport来获得Injection, 只需要声明,更简单和友好。Spring也会朝着相同的方向走。 我看也不是必须要extends XXXsupport,只要能往我的business object,dao里面注入一个XXXTemplate就可以了,只不过这些东西XXXsupport帮我做好了,就不需要自己写一个base class了 zkj_beyond 写道 可惜阿 冬眠和春天如果统一。 j2ee开发就简单多了。 spring和h3不是工作得很好吗? 再说了,orm不是必须的,也不是万能的,我现在用jdbc就开心得很 |
|
返回顶楼 | |
发表时间:2005-09-08
引用 我看也不是必须要extends XXXsupport,只要能往我的business object,dao里面注入一个XXXTemplate就可以了,只不过这些东西XXXsupport帮我做好了,就不需要自己写一个base class了
我的意思是你什么都不用做,不需要写base class,不需要extends,只需要声明就可以获得资源。目前限ejb3的资源,单如果有ejb3 container支持更多的资源如jdbc也不惊讶)。 |
|
返回顶楼 | |
发表时间:2005-09-08
Charlesxp 写道 引用 我看也不是必须要extends XXXsupport,只要能往我的business object,dao里面注入一个XXXTemplate就可以了,只不过这些东西XXXsupport帮我做好了,就不需要自己写一个base class了
我的意思是你什么都不用做,不需要写base class,不需要extends,只需要声明就可以了。 我看也可以 public class MyBusinessObject{ private XXXTemplate _template; public void setXXXTemplate(XXXTemplate template);{ _template=template; } } |
|
返回顶楼 | |
发表时间:2005-09-08
引用 public class MyBusinessObject{
private XXXTemplate _template; public void setXXXTemplate(XXXTemplate template){ _template=template; } } 如果这样不更好? 引用 public class MyBusinessObject{
@Template private XXXTemplate _template; } 不需要用户必须写一个setter. 而且Template自动跟transaction相关。 |
|
返回顶楼 | |
发表时间:2005-09-08
没区别,都有个东西在inject东西进另一个东西
spring也支持annotion. |
|
返回顶楼 | |
发表时间:2005-09-08
引用 没区别,都有个东西在inject东西进另一个东西
spring也支持annotion. 你能否给出一个例子? 我看了看spring的开发手册。我看到这样的annotation。 public class OrderService { @Transactional void createOrder(Order order);{} 这个跟ejb3规范中表述的injection还是有区别。 我期望看到这样的代码(这里假设我们使用hibernate session。 public Class OrderService { @Session private Session mySession @Transactional void createOrder(Order order);{ mySession.save( order );; } Spring目前的版本可以这样吗? |
|
返回顶楼 | |