Redian新闻
>
讨论spring这么多,还没有说到点子上的。
avatar
讨论spring这么多,还没有说到点子上的。# Java - 爪哇娇娃
t*e
1
Spring的核心概念是要promote POJO style programming。DI和AOP都是为了达到POJO
的目的。没有DI可以用JNDI lookup, 没有AOP可以用UserTransaction.begin(),
Logger.log(),AspectJ API。EJB1和2就是这么样的。结果就是API intrusive code。
提出POJO style programming是Spring最大的贡献。
avatar
x*d
2
POJO is good, it is the form, but not the intention.
avatar
c*e
3
spring嫌ejb太难学太难用,干脆用pojo来做所有的session beans做的事情。di其实就
是在xml里面用一個name定义一個class,在java code里面只要提到这个name就可以了。
如果哪天class名字变了,只需要到xml文件里改改那个class名字就可以了。spring 通
过大量利用interface runtime来改变runtime实际用到的class.

POJO

【在 t*******e 的大作中提到】
: Spring的核心概念是要promote POJO style programming。DI和AOP都是为了达到POJO
: 的目的。没有DI可以用JNDI lookup, 没有AOP可以用UserTransaction.begin(),
: Logger.log(),AspectJ API。EJB1和2就是这么样的。结果就是API intrusive code。
: 提出POJO style programming是Spring最大的贡献。

avatar
t*a
4
我觉得核心是spring的flexible, 你可以用pojo,也可以不用,你可以用aop,也可以
不用,用也可以多种用法, 不喜欢所有东西都有interface, 可以用cglib。bean的生存
周期,注入关系也很灵活.

POJO

【在 t*******e 的大作中提到】
: Spring的核心概念是要promote POJO style programming。DI和AOP都是为了达到POJO
: 的目的。没有DI可以用JNDI lookup, 没有AOP可以用UserTransaction.begin(),
: Logger.log(),AspectJ API。EJB1和2就是这么样的。结果就是API intrusive code。
: 提出POJO style programming是Spring最大的贡献。

avatar
g*g
5
这个我前面提到过,就是不需要container。所谓POJO跟这个一个意思。

POJO

【在 t*******e 的大作中提到】
: Spring的核心概念是要promote POJO style programming。DI和AOP都是为了达到POJO
: 的目的。没有DI可以用JNDI lookup, 没有AOP可以用UserTransaction.begin(),
: Logger.log(),AspectJ API。EJB1和2就是这么样的。结果就是API intrusive code。
: 提出POJO style programming是Spring最大的贡献。

avatar
c*e
6
en,ejb严重依赖container.很多人说这是ejb的优势,container帮着做了很多事情,连
entry point都免了。

【在 g*****g 的大作中提到】
: 这个我前面提到过,就是不需要container。所谓POJO跟这个一个意思。
:
: POJO

avatar
t*e
7
POJO和container没有直接的关系。用POJO目的是减少或消除对technology-specific
API的依赖。比如Spring Beans一般不用import org.springframework.*packages。但
并不是说这些beans不再需要container提供的services。
Spring之后的技术或多或少都有POJO的概念。包括EJB3,data model in JPA/
Hibernate/JDO, JAXB, XStream, Hibernate Search, Servlet3.0, Drools, Camel等
等。相对的,如果data model不POJO, 就会被认为是low level API,还需要加
abstraction layer, 比如Hadoop API。

【在 c*********e 的大作中提到】
: en,ejb严重依赖container.很多人说这是ejb的优势,container帮着做了很多事情,连
: entry point都免了。

avatar
c*e
8
现在的趋势是各个tier之间只传送string。一個pojo,都嫌不够精简。所以json红火,
jquery红火,flash半死不活,session beans没人用。现在的趋势是由繁杂回归到简单。

【在 t*******e 的大作中提到】
: POJO和container没有直接的关系。用POJO目的是减少或消除对technology-specific
: API的依赖。比如Spring Beans一般不用import org.springframework.*packages。但
: 并不是说这些beans不再需要container提供的services。
: Spring之后的技术或多或少都有POJO的概念。包括EJB3,data model in JPA/
: Hibernate/JDO, JAXB, XStream, Hibernate Search, Servlet3.0, Drools, Camel等
: 等。相对的,如果data model不POJO, 就会被认为是low level API,还需要加
: abstraction layer, 比如Hadoop API。

avatar
t*a
9
那你可以搞个新框架,或者新语言,interface里的method都只能接受string参数,返
回string,肯定能火

单。

【在 c*********e 的大作中提到】
: 现在的趋势是各个tier之间只传送string。一個pojo,都嫌不够精简。所以json红火,
: jquery红火,flash半死不活,session beans没人用。现在的趋势是由繁杂回归到简单。

avatar
c*e
10
对呀,网络里传值,都是以string传的,不是int,不是double.
json已经够精简了,没啥多余的东西,全裸。

【在 t***a 的大作中提到】
: 那你可以搞个新框架,或者新语言,interface里的method都只能接受string参数,返
: 回string,肯定能火
:
: 单。

avatar
t*e
11
json document在serverside也是map成POJO。Jackson就是干这个的,和JAXB,Xstream
没什么不同。没有谁会一路用string处理json document的。

单。

【在 c*********e 的大作中提到】
: 现在的趋势是各个tier之间只传送string。一個pojo,都嫌不够精简。所以json红火,
: jquery红火,flash半死不活,session beans没人用。现在的趋势是由繁杂回归到简单。

avatar
z*3
12
其实如果把ejb的container看成是framework的话
ejb3以后的container非常强大
spring有的ejb container都有
包括beans.xml,这种方式也有
现在推荐如果是本机,用beans.xml
如果非本机,要垮物理机器,用ejb
我们现在面试都换问用没用过jboss了
不再问用没用过spring了,也就是我们这种搞核心的
才会自己吭哧吭哧写java代码,我们组其他人,做其他项目的
都全部改跑jboss了,jboss真心强大
该有的都有
avatar
g*g
13
这个关系是很大的,当年ejb2.x必须实现诸如home的一些接口,而ejb container利用这
些接口来管理ejb的life cycle。所以当Spring提出不需要实现接口也能做类似的管理
的时候,就是POJO。
Spring之初,目的的是用XML管理的话,可以做到DI framework neutral。这在后来
JSR330出来之后,用annotation仍然可以做得到。我个人不是那么在意有没有这个
vendor lockin,只要这个dependency是纯java可以embedded的。换句话说,你可以把
Spring和之上的Bean带到tomcat,或者带到java SE上仍然可以用,而没有逼着你用某
个特地的ejb server。
你要读一下这个wiki,基本上所谓POJO就是container independent的意思。
http://en.wikipedia.org/wiki/Plain_Old_Java_Object

【在 t*******e 的大作中提到】
: POJO和container没有直接的关系。用POJO目的是减少或消除对technology-specific
: API的依赖。比如Spring Beans一般不用import org.springframework.*packages。但
: 并不是说这些beans不再需要container提供的services。
: Spring之后的技术或多或少都有POJO的概念。包括EJB3,data model in JPA/
: Hibernate/JDO, JAXB, XStream, Hibernate Search, Servlet3.0, Drools, Camel等
: 等。相对的,如果data model不POJO, 就会被认为是low level API,还需要加
: abstraction layer, 比如Hadoop API。

avatar
t*e
14
我看了下你引用的wiki,和我说的很一致。第一个例子竟然就是你不太喜欢的JSF
。我其实也不大明白你想要说明什么。另外我用[email protected]来DI。没有用[email protected]
Inject或@EJB。POJO不仅是个programming model,也是个data model。如果说
programming model还能和container有点联系。POJO data model就完全和container无
关了。

用这

【在 g*****g 的大作中提到】
: 这个关系是很大的,当年ejb2.x必须实现诸如home的一些接口,而ejb container利用这
: 些接口来管理ejb的life cycle。所以当Spring提出不需要实现接口也能做类似的管理
: 的时候,就是POJO。
: Spring之初,目的的是用XML管理的话,可以做到DI framework neutral。这在后来
: JSR330出来之后,用annotation仍然可以做得到。我个人不是那么在意有没有这个
: vendor lockin,只要这个dependency是纯java可以embedded的。换句话说,你可以把
: Spring和之上的Bean带到tomcat,或者带到java SE上仍然可以用,而没有逼着你用某
: 个特地的ejb server。
: 你要读一下这个wiki,基本上所谓POJO就是container independent的意思。
: http://en.wikipedia.org/wiki/Plain_Old_Java_Object

avatar
g*g
15
我就是说,所谓POJO,lighted-weighted, no container,都是一回事。

[email protected]

【在 t*******e 的大作中提到】
: 我看了下你引用的wiki,和我说的很一致。第一个例子竟然就是你不太喜欢的JSF
: 。我其实也不大明白你想要说明什么。另外我用[email protected]来DI。没有用[email protected]
: Inject或@EJB。POJO不仅是个programming model,也是个data model。如果说
: programming model还能和container有点联系。POJO data model就完全和container无
: 关了。
:
: 用这

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。