由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Java版 - spring到底有什么好处?
相关主题
新手学习java spring, hibernate或者struts的问题学习J2EE
j2ee without EJB请教一下怎么学习java framework,怎么找java工作
做Java web development 一定要 struts + spring + hibernate 吗Goodbug能提供一些Spring, Hibernate, Cassandra入门资料吗
java的东西好多怎么能学成J2EE的全能
不明白Spring Framework很正常谁给推荐一个简单的ORM吧
java所有工具里面,就数spring最简单了看Spring真是头大
板上有人讨论淘宝的技术架构.Net developer doing Java
any good j2ee book?j2ee web 方向的职业规划
相关话题的讨论汇总
话题: spring话题: hibernate话题: ejb话题: j2ee话题: db
进入Java版参与讨论
1 (共1页)
M******l
发帖数: 479
1
一直没有搞清楚为什么要用spring和Dependency Injection,到底有什么好处呢?发现
有公司的面试会问,现在的公司也用这个,不过我一直做web app以下的layer,没有太
大体会……
请大家指教。谢谢!
S****h
发帖数: 558
2
I am very curious about your "web app底层".
M******l
发帖数: 479
3
Sorry I meant the layer below web app. Just updated

【在 S****h 的大作中提到】
: I am very curious about your "web app底层".
S****h
发帖数: 558
4
Spring can be lots of things.
In my opinion, Spring, as a framework or idea, is somewhat an extension of
OOP idea. The key is loose coupling. DI is the core method to implement
this.
In the web layer, SpringMVC is just a wrapper around servlet, although it
simplifies things a lot.
M******l
发帖数: 479
5
一直没有搞清楚为什么要用spring和Dependency Injection,到底有什么好处呢?发现
有公司的面试会问,现在的公司也用这个,不过我一直做web app以下的layer,没有太
大体会……
请大家指教。谢谢!
S****h
发帖数: 558
6
I am very curious about your "web app底层".
M******l
发帖数: 479
7
Sorry I meant the layer below web app. Just updated

【在 S****h 的大作中提到】
: I am very curious about your "web app底层".
S****h
发帖数: 558
8
Spring can be lots of things.
In my opinion, Spring, as a framework or idea, is somewhat an extension of
OOP idea. The key is loose coupling. DI is the core method to implement
this.
In the web layer, SpringMVC is just a wrapper around servlet, although it
simplifies things a lot.
z*****5
发帖数: 1871
9
按需分配,进入共产主义
c*m
发帖数: 836
10

Spring是从EJB'进化'来的,最早的目的不过是提供一个light weight non-
environment dependent的object container,就是你现在看到的所谓的spring core,
后来流行了就附加了很多别的utility。至于说它为什么是现在这个样子,我建议你去
看看Spring的创始人Rod Johnson的 EJB>, 他在里面第一次详细地分析了EJB的缺点以及解决方式,最后的结论就是一个类
似Spring的东西。
这本书很好懂,关于EJB的分析,只是一个载体,通过这个载体涉及到了J2EE的很多方
面和设计理念。基本上初学J2EE的人,我都会建议他们在入门之后去读一下这本书,对
你整体上理解在J2EE的环境中的设计很有帮助。

【在 M******l 的大作中提到】
: 一直没有搞清楚为什么要用spring和Dependency Injection,到底有什么好处呢?发现
: 有公司的面试会问,现在的公司也用这个,不过我一直做web app以下的layer,没有太
: 大体会……
: 请大家指教。谢谢!

相关主题
java所有工具里面,就数spring最简单了学习J2EE
板上有人讨论淘宝的技术架构请教一下怎么学习java framework,怎么找java工作
any good j2ee book?Goodbug能提供一些Spring, Hibernate, Cassandra入门资料吗
进入Java版参与讨论
x****d
发帖数: 1766
11

,
i have chinese scan version, always want to read the english version, but
never find it, shame, anyone care to share?

【在 c*m 的大作中提到】
:
: Spring是从EJB'进化'来的,最早的目的不过是提供一个light weight non-
: environment dependent的object container,就是你现在看到的所谓的spring core,
: 后来流行了就附加了很多别的utility。至于说它为什么是现在这个样子,我建议你去
: 看看Spring的创始人Rod Johnson的: EJB>, 他在里面第一次详细地分析了EJB的缺点以及解决方式,最后的结论就是一个类
: 似Spring的东西。
: 这本书很好懂,关于EJB的分析,只是一个载体,通过这个载体涉及到了J2EE的很多方
: 面和设计理念。基本上初学J2EE的人,我都会建议他们在入门之后去读一下这本书,对
: 你整体上理解在J2EE的环境中的设计很有帮助。

b*t
发帖数: 61
12
I have English version (2004). Send me your email, if you need it.
-
JAVA/J2EE@NorthAmerica QQ群,欢迎加入。
群名:JAVA/J2EE@NorthAmerica
群号:12610648
专注于技术交流及在北美的职业发展,欢迎有兴趣的同学加入。
s*******d
发帖数: 4135
13
google 书名加pdf,第一个链接就可以下载了。
x****d
发帖数: 1766
14

thanks

【在 s*******d 的大作中提到】
: google 书名加pdf,第一个链接就可以下载了。
x****d
发帖数: 1766
15

Thanks. Is it QQ group? I will try.

【在 b*t 的大作中提到】
: I have English version (2004). Send me your email, if you need it.
: -
: JAVA/J2EE@NorthAmerica QQ群,欢迎加入。
: 群名:JAVA/J2EE@NorthAmerica
: 群号:12610648
: 专注于技术交流及在北美的职业发展,欢迎有兴趣的同学加入。

b*t
发帖数: 61
16
Yes, it is. Welcome to join us.
JAVA/J2EE@NorthAmerica QQ群,欢迎加入。
群名:JAVA/J2EE@NorthAmerica
群号:12610648
p*****2
发帖数: 21240
17
其他语言相对于Spring的东西是什么呀?
比如python, ruby, scala?
z*******3
发帖数: 13709
18
剥离耦合
这个只有绝对的面向对象语言才能实现
其它的,尤其是面向过程的
这样搞会有问题
因为你不是对象inject什么东西?
F****n
发帖数: 3271
19
Spring 最早流行主要是因为Hibernate, 让你直接写JAVA访问数据库不用写SQL
后来衍生了不少,无非就是把一些常用的东西集成(象Security之类的自己写还是麻烦)
而所谓的框架就是说你的程序必须符合一定的结构和格式才能用它集成的东西
至于 Dependency Injection/IoC啥的其实就是用Interface的应用,
起了些故弄玄虚的名字而已。

【在 M******l 的大作中提到】
: 一直没有搞清楚为什么要用spring和Dependency Injection,到底有什么好处呢?发现
: 有公司的面试会问,现在的公司也用这个,不过我一直做web app以下的layer,没有太
: 大体会……
: 请大家指教。谢谢!

g*****g
发帖数: 34805
20
Spring started as a light-weight ejb that you don't need a container and 3
classes for one service. Hibernate is not the reason it got popular. I saw
quite some projects using JDBCTemplate in early days.

烦)

【在 F****n 的大作中提到】
: Spring 最早流行主要是因为Hibernate, 让你直接写JAVA访问数据库不用写SQL
: 后来衍生了不少,无非就是把一些常用的东西集成(象Security之类的自己写还是麻烦)
: 而所谓的框架就是说你的程序必须符合一定的结构和格式才能用它集成的东西
: 至于 Dependency Injection/IoC啥的其实就是用Interface的应用,
: 起了些故弄玄虚的名字而已。

相关主题
怎么能学成J2EE的全能.Net developer doing Java
谁给推荐一个简单的ORM吧j2ee web 方向的职业规划
看Spring真是头大j2ee, j2me, j2se 现在哪个用得多?
进入Java版参与讨论
F****n
发帖数: 3271
21
You don't even need a light-weight ejb for one service. Spring/Hibernate
used to be the phrase. Now they made it separate.

【在 g*****g 的大作中提到】
: Spring started as a light-weight ejb that you don't need a container and 3
: classes for one service. Hibernate is not the reason it got popular. I saw
: quite some projects using JDBCTemplate in early days.
:
: 烦)

p*****2
发帖数: 21240
22
我昨天稍微研究了一下,貌似Spring也是弥补Java的缺陷而出现的。
t***a
发帖数: 416
23
我倒觉得hibernate帮了struts1的忙,早期spring是靠边站的
到后来有了struts2也就是当年的webwork,和spring, hibernate这三个整合的非常好,
形成了一个完整的体系结构,这倒的确增加了spring的用户群

烦)

【在 F****n 的大作中提到】
: Spring 最早流行主要是因为Hibernate, 让你直接写JAVA访问数据库不用写SQL
: 后来衍生了不少,无非就是把一些常用的东西集成(象Security之类的自己写还是麻烦)
: 而所谓的框架就是说你的程序必须符合一定的结构和格式才能用它集成的东西
: 至于 Dependency Injection/IoC啥的其实就是用Interface的应用,
: 起了些故弄玄虚的名字而已。

g*****g
发帖数: 34805
24
I don't think struts2 was ever as popular as spring mvc.

好,

【在 t***a 的大作中提到】
: 我倒觉得hibernate帮了struts1的忙,早期spring是靠边站的
: 到后来有了struts2也就是当年的webwork,和spring, hibernate这三个整合的非常好,
: 形成了一个完整的体系结构,这倒的确增加了spring的用户群
:
: 烦)

z*******3
发帖数: 13709
25
spring比interface要强
至少是interface+factory

烦)

【在 F****n 的大作中提到】
: Spring 最早流行主要是因为Hibernate, 让你直接写JAVA访问数据库不用写SQL
: 后来衍生了不少,无非就是把一些常用的东西集成(象Security之类的自己写还是麻烦)
: 而所谓的框架就是说你的程序必须符合一定的结构和格式才能用它集成的东西
: 至于 Dependency Injection/IoC啥的其实就是用Interface的应用,
: 起了些故弄玄虚的名字而已。

t***a
发帖数: 416
26
真的?没有这方面的数据。。。
我觉得老项目都加起来应该struts1>struts2>spring mvc.....

【在 g*****g 的大作中提到】
: I don't think struts2 was ever as popular as spring mvc.
:
: 好,

t***a
发帖数: 416
27
还有动态代理。。。

【在 z*******3 的大作中提到】
: spring比interface要强
: 至少是interface+factory
:
: 烦)

T*********g
发帖数: 496
28
一个简单的例子。
我现在用mysql做数据库,过两年业务扩大了,我想用oracle。如果是spring based
app,我只需要简单的配置一下就解决问题了。Oracle的相关代码我可以请以的注入到
需要的spring bean里。
还有就是spring整合了很多开源框架,提供了AOP的实现等功能,所以很有用。

【在 M******l 的大作中提到】
: 一直没有搞清楚为什么要用spring和Dependency Injection,到底有什么好处呢?发现
: 有公司的面试会问,现在的公司也用这个,不过我一直做web app以下的layer,没有太
: 大体会……
: 请大家指教。谢谢!

g*****g
发帖数: 34805
29
Exactly. IoC and AOP are the core of spring. It also uses a consistent
interface to integrate with all mainstream frameworks, which not only
minimizes vendor lockin, but also make your knowledge reusable with new
territory.

【在 T*********g 的大作中提到】
: 一个简单的例子。
: 我现在用mysql做数据库,过两年业务扩大了,我想用oracle。如果是spring based
: app,我只需要简单的配置一下就解决问题了。Oracle的相关代码我可以请以的注入到
: 需要的spring bean里。
: 还有就是spring整合了很多开源框架,提供了AOP的实现等功能,所以很有用。

p*****2
发帖数: 21240
30

我觉得你这个例子不算好。首先,它违背了YAGNI的开发原则。你怎么知道过两年你会
转到oracle呢?
其次能不能举几个实践的例子?什么公司开始用mysql, 过了两年转oracle了?
我看到的是facebook这么多年了,还是mysql, salesforce想从oracle转到mysql老难了


【在 T*********g 的大作中提到】
: 一个简单的例子。
: 我现在用mysql做数据库,过两年业务扩大了,我想用oracle。如果是spring based
: app,我只需要简单的配置一下就解决问题了。Oracle的相关代码我可以请以的注入到
: 需要的spring bean里。
: 还有就是spring整合了很多开源框架,提供了AOP的实现等功能,所以很有用。

相关主题
Netflix用什么Java Framework (转载)j2ee without EJB
请推荐一本J2EE的书做Java web development 一定要 struts + spring + hibernate 吗
新手学习java spring, hibernate或者struts的问题java的东西好多
进入Java版参与讨论
k********e
发帖数: 368
31
struts2 在US不流行。 大多数是先用struts1,然后就找不到理由花费很多钱升级到没
有显著优势的struts2
springMVC优势会越来越明显。新项目会更多的转向springmvc. 原因是controller更加
灵活,view更加多样化。和spring自成一体。

【在 t***a 的大作中提到】
: 真的?没有这方面的数据。。。
: 我觉得老项目都加起来应该struts1>struts2>spring mvc.....

T*********g
发帖数: 496
32
你说的facebook,或着salesforce级别的应用,数据库更换难的问题和我说的在spring
app更换数据库不是一个意思。数据库更换难是比如说如何设计物理架构,如何设计读
写分离,如何备份,如何设计分片,如何监控,如何调优等等一系列数据库自己的问题
。这个更换数据库的确是很难的。
对spring应用来说,底层数据库的转变我不需要知道,我只要知道它是满足jdbc 3还是
4规范就差不多了。当然事物处理还是有点不同的,但是spring的声明式事物还是很容
易调整这个问题。

【在 p*****2 的大作中提到】
:
: 我觉得你这个例子不算好。首先,它违背了YAGNI的开发原则。你怎么知道过两年你会
: 转到oracle呢?
: 其次能不能举几个实践的例子?什么公司开始用mysql, 过了两年转oracle了?
: 我看到的是facebook这么多年了,还是mysql, salesforce想从oracle转到mysql老难了
: 。

p*****2
发帖数: 21240
33

spring
我的意思是说有多大的可能性现在用mysql,过两年换成oracle呢?如果没什么可能,
这个spring的优势就没什么意思了呀。

【在 T*********g 的大作中提到】
: 你说的facebook,或着salesforce级别的应用,数据库更换难的问题和我说的在spring
: app更换数据库不是一个意思。数据库更换难是比如说如何设计物理架构,如何设计读
: 写分离,如何备份,如何设计分片,如何监控,如何调优等等一系列数据库自己的问题
: 。这个更换数据库的确是很难的。
: 对spring应用来说,底层数据库的转变我不需要知道,我只要知道它是满足jdbc 3还是
: 4规范就差不多了。当然事物处理还是有点不同的,但是spring的声明式事物还是很容
: 易调整这个问题。

g*****g
发帖数: 34805
34
这不是spring的优势,这是hibernate的优势。我们曾经有一个应用,开始是针对
oracle写的,后来有了一些小一些的客户,要求支持mysql,因为原来就用hibernate,
改动大约没花超过一周。
对于需要跟客户整合的企业应用,这个需求很常见。

【在 p*****2 的大作中提到】
:
: spring
: 我的意思是说有多大的可能性现在用mysql,过两年换成oracle呢?如果没什么可能,
: 这个spring的优势就没什么意思了呀。

c*********e
发帖数: 16335
35
en, hibernate有自己的hql.

【在 g*****g 的大作中提到】
: 这不是spring的优势,这是hibernate的优势。我们曾经有一个应用,开始是针对
: oracle写的,后来有了一些小一些的客户,要求支持mysql,因为原来就用hibernate,
: 改动大约没花超过一周。
: 对于需要跟客户整合的企业应用,这个需求很常见。

h******k
发帖数: 388
36
we use mysql as a testing db on every developer's machine. The production db
is oracle.

【在 p*****2 的大作中提到】
:
: spring
: 我的意思是说有多大的可能性现在用mysql,过两年换成oracle呢?如果没什么可能,
: 这个spring的优势就没什么意思了呀。

t***a
发帖数: 416
37
对于一个公司来说,的确不太会换数据库,不说别的,IT那边阻力就会很大
但是如果你做一套软件,想要卖给不同的公司,那你这个软件最好就能很容易的迁移到
不同的数据库上,有些公司只肯用Oracle,有的只有sql server,还有不肯花钱的,只
肯用mysql或者postgre的

【在 p*****2 的大作中提到】
:
: spring
: 我的意思是说有多大的可能性现在用mysql,过两年换成oracle呢?如果没什么可能,
: 这个spring的优势就没什么意思了呀。

p*****2
发帖数: 21240
38

这个比较make sense.不过这个帖子主题说的是spring。呵呵。

【在 g*****g 的大作中提到】
: 这不是spring的优势,这是hibernate的优势。我们曾经有一个应用,开始是针对
: oracle写的,后来有了一些小一些的客户,要求支持mysql,因为原来就用hibernate,
: 改动大约没花超过一周。
: 对于需要跟客户整合的企业应用,这个需求很常见。

p*****2
发帖数: 21240
39

db
为什么production不用mysql as well呢?

【在 h******k 的大作中提到】
: we use mysql as a testing db on every developer's machine. The production db
: is oracle.

p*****2
发帖数: 21240
40

hibernate可以migrate到cloud DB吗?
另外开发的时候,不同的DB,对于developer完全transparent的吗?

【在 t***a 的大作中提到】
: 对于一个公司来说,的确不太会换数据库,不说别的,IT那边阻力就会很大
: 但是如果你做一套软件,想要卖给不同的公司,那你这个软件最好就能很容易的迁移到
: 不同的数据库上,有些公司只肯用Oracle,有的只有sql server,还有不肯花钱的,只
: 肯用mysql或者postgre的

相关主题
java的东西好多板上有人讨论淘宝的技术架构
不明白Spring Framework很正常any good j2ee book?
java所有工具里面,就数spring最简单了学习J2EE
进入Java版参与讨论
t***a
发帖数: 416
41
不知道
不能完全,比如说你非要写个存储过程或者trigger....早先有些数据类型也有些特殊
需要注意的地方,但对于一般的数据类型,查询,我觉得没问题

【在 p*****2 的大作中提到】
:
: hibernate可以migrate到cloud DB吗?
: 另外开发的时候,不同的DB,对于developer完全transparent的吗?

k********e
发帖数: 368
42
This is strange. The test should be on the same condition, otherwise, it
might fail in prod, yet pass in test.
Whoever made this decision should get fired.

db

【在 h******k 的大作中提到】
: we use mysql as a testing db on every developer's machine. The production db
: is oracle.

g*****g
发帖数: 34805
43
整个j2ee的三层概念,服务层是核心,也是大头,分层的目的是不改变服务层。
hibernate不可能对所有的DB都同样处理。现在的大量nosql db,甚至连
transaction都没有,hibernate处理不了。但改变存储层的Dao实现即可,服务层
仍然不需要改动。

【在 p*****2 的大作中提到】
:
: hibernate可以migrate到cloud DB吗?
: 另外开发的时候,不同的DB,对于developer完全transparent的吗?

t***a
发帖数: 416
44
这两天玩了玩play2, 不错啊,比lift用的舒服
Action继承Function这个设计我很喜欢,写filter会很漂亮
View上的技术也不错
我直接casbah连mongo db了,没试试它默认的数据库访问,你用它那个anorm了没?

【在 p*****2 的大作中提到】
:
: hibernate可以migrate到cloud DB吗?
: 另外开发的时候,不同的DB,对于developer完全transparent的吗?

t***a
发帖数: 416
45
是可以让hibernate来mapping nosql的。。。。这和mapping到关系型数据库,其实本
质上也没啥不同。。。。。没transaction是nosql自己的问题,就像以前innodb没
foreign key一样
当然用hibernate连nosql这事好不好,需要讨论,但要真不想重写Dao, 也是可以忍的

【在 g*****g 的大作中提到】
: 整个j2ee的三层概念,服务层是核心,也是大头,分层的目的是不改变服务层。
: hibernate不可能对所有的DB都同样处理。现在的大量nosql db,甚至连
: transaction都没有,hibernate处理不了。但改变存储层的Dao实现即可,服务层
: 仍然不需要改动。

g*****g
发帖数: 34805
46
hibernate不支持的DB,你没法玩。写个编译器把hql转成nosql能支持的query,做不做
得到都是个问题。

【在 t***a 的大作中提到】
: 是可以让hibernate来mapping nosql的。。。。这和mapping到关系型数据库,其实本
: 质上也没啥不同。。。。。没transaction是nosql自己的问题,就像以前innodb没
: foreign key一样
: 当然用hibernate连nosql这事好不好,需要讨论,但要真不想重写Dao, 也是可以忍的

p*****2
发帖数: 21240
47

我还没搞play呢。前两天看了看akka只是

【在 t***a 的大作中提到】
: 这两天玩了玩play2, 不错啊,比lift用的舒服
: Action继承Function这个设计我很喜欢,写filter会很漂亮
: View上的技术也不错
: 我直接casbah连mongo db了,没试试它默认的数据库访问,你用它那个anorm了没?

p*****2
发帖数: 21240
48

所以说也是一定程度的。

【在 t***a 的大作中提到】
: 不知道
: 不能完全,比如说你非要写个存储过程或者trigger....早先有些数据类型也有些特殊
: 需要注意的地方,但对于一般的数据类型,查询,我觉得没问题

k******i
发帖数: 80
49
re

,
★ 发自iPhone App: ChineseWeb 7.7

【在 c*m 的大作中提到】
:
: Spring是从EJB'进化'来的,最早的目的不过是提供一个light weight non-
: environment dependent的object container,就是你现在看到的所谓的spring core,
: 后来流行了就附加了很多别的utility。至于说它为什么是现在这个样子,我建议你去
: 看看Spring的创始人Rod Johnson的: EJB>, 他在里面第一次详细地分析了EJB的缺点以及解决方式,最后的结论就是一个类
: 似Spring的东西。
: 这本书很好懂,关于EJB的分析,只是一个载体,通过这个载体涉及到了J2EE的很多方
: 面和设计理念。基本上初学J2EE的人,我都会建议他们在入门之后去读一下这本书,对
: 你整体上理解在J2EE的环境中的设计很有帮助。

t***a
发帖数: 416
50
hql的确有困难,不过HibernateOGM对nosql的支持还是不错的

【在 g*****g 的大作中提到】
: hibernate不支持的DB,你没法玩。写个编译器把hql转成nosql能支持的query,做不做
: 得到都是个问题。

相关主题
请教一下怎么学习java framework,怎么找java工作谁给推荐一个简单的ORM吧
Goodbug能提供一些Spring, Hibernate, Cassandra入门资料吗看Spring真是头大
怎么能学成J2EE的全能.Net developer doing Java
进入Java版参与讨论
z*******3
发帖数: 13709
51
hibernate最早就是hibernate,墨尔本一个搞db的码农做的
后来被jboss收编
spring最早是悉尼一个consultant搞的
后来被vmware收购
gavin king是莫那什大学的数学本科生
rod johnson是悉尼大学的cs本科,音乐phd
这两个aussi从来没有在同一个城市工作过
去哪里来的made it separate
从来就不是一个老板

【在 F****n 的大作中提到】
: You don't even need a light-weight ejb for one service. Spring/Hibernate
: used to be the phrase. Now they made it separate.

p*****2
发帖数: 21240
52

都是大牛那片地出来的呀。

【在 z*******3 的大作中提到】
: hibernate最早就是hibernate,墨尔本一个搞db的码农做的
: 后来被jboss收编
: spring最早是悉尼一个consultant搞的
: 后来被vmware收购
: gavin king是莫那什大学的数学本科生
: rod johnson是悉尼大学的cs本科,音乐phd
: 这两个aussi从来没有在同一个城市工作过
: 去哪里来的made it separate
: 从来就不是一个老板

p*****2
发帖数: 21240
53
谁能给个summary?Spring的好处是什么?我又扫了一遍,基本上没有争议的就是下边
这个。这也跟我的理解吻合。还有其他的吗?
loose coupling: interface+factory
F****n
发帖数: 3271
54
最早的时候不用EJB的Team, 最需要的东西就是一个XML的JavaBean Configuration/
initialization file,这个东西基本上每个Team都自己有一个
(我就写过一个)。后来用Spring主要是因为Hibernate好用,而Spring和Hibernate经
常被同时提起,所以渐渐的也用Spring,因为它的整合更系统。 我敢说很多TEAM都是
这样转到Spring的。

【在 z*******3 的大作中提到】
: hibernate最早就是hibernate,墨尔本一个搞db的码农做的
: 后来被jboss收编
: spring最早是悉尼一个consultant搞的
: 后来被vmware收购
: gavin king是莫那什大学的数学本科生
: rod johnson是悉尼大学的cs本科,音乐phd
: 这两个aussi从来没有在同一个城市工作过
: 去哪里来的made it separate
: 从来就不是一个老板

p*****2
发帖数: 21240
55

那spring有啥好处呢?

【在 F****n 的大作中提到】
: 最早的时候不用EJB的Team, 最需要的东西就是一个XML的JavaBean Configuration/
: initialization file,这个东西基本上每个Team都自己有一个
: (我就写过一个)。后来用Spring主要是因为Hibernate好用,而Spring和Hibernate经
: 常被同时提起,所以渐渐的也用Spring,因为它的整合更系统。 我敢说很多TEAM都是
: 这样转到Spring的。

F****n
发帖数: 3271
56
最原始的用处就是XML-based JavaBeans Configuration,
他不只限于Web应用,所有的Interface-based的 Design都用的到

【在 p*****2 的大作中提到】
:
: 那spring有啥好处呢?

F****n
发帖数: 3271
57
他这个例子很好,更简单的说,如果你有一些Beans参数都是Interface, 那么这些
Interface的Instance在那里产生的?如果自己 new 的话,当你想换一个
implementation的时候就必须1)找出所有的initialization code然后修改,2) 重新
编译代码; 对稍微有些复杂度的程序这个都很麻烦。

spring

【在 T*********g 的大作中提到】
: 你说的facebook,或着salesforce级别的应用,数据库更换难的问题和我说的在spring
: app更换数据库不是一个意思。数据库更换难是比如说如何设计物理架构,如何设计读
: 写分离,如何备份,如何设计分片,如何监控,如何调优等等一系列数据库自己的问题
: 。这个更换数据库的确是很难的。
: 对spring应用来说,底层数据库的转变我不需要知道,我只要知道它是满足jdbc 3还是
: 4规范就差不多了。当然事物处理还是有点不同的,但是spring的声明式事物还是很容
: 易调整这个问题。

z*******3
发帖数: 13709
58
我敢说你最后一句话肯定是错的
spring比hibernate强多了
rod johnson在wikipedia上的条目也比gavin king要强
gavin king很多人都不知道有这个人
hibernate是一个好东西
但是说因为hibernate才用spring就是一个joke了
spring就是spring,我们不用hibernate照样跑spring
而且spring还可以换其他rom的工具,比如ibatis
spring从来就不是一个配角,是开发的主角
主要是人们不想搭理ejb的session bean才用spring

【在 F****n 的大作中提到】
: 最早的时候不用EJB的Team, 最需要的东西就是一个XML的JavaBean Configuration/
: initialization file,这个东西基本上每个Team都自己有一个
: (我就写过一个)。后来用Spring主要是因为Hibernate好用,而Spring和Hibernate经
: 常被同时提起,所以渐渐的也用Spring,因为它的整合更系统。 我敢说很多TEAM都是
: 这样转到Spring的。

p*****2
发帖数: 21240
59

对呀。这个就是DI的好处呀。看来Spring的主要的好处就是DI了。另外可以简化Java编
程。

【在 F****n 的大作中提到】
: 他这个例子很好,更简单的说,如果你有一些Beans参数都是Interface, 那么这些
: Interface的Instance在那里产生的?如果自己 new 的话,当你想换一个
: implementation的时候就必须1)找出所有的initialization code然后修改,2) 重新
: 编译代码; 对稍微有些复杂度的程序这个都很麻烦。
:
: spring

F****n
发帖数: 3271
60
我要是04/05年这么说肯定不会有异议,
你光在网上查查当然查不到了,历史往往湮灭在书本中啊,
Spring现在强是因为他功能扩展了很多,
但他当初绝对不是靠IoC, DI那一套火起来的,
为啥?不是因为IoC不对,而是因为这个东西大多数人都知道
当初不用EJB的又不是他一家,我前面已经说了,每个不用EJB的TEAM
几乎都会用一个自己开发的类似Spring IoC的东东,JDBC Wrapper
很多也自己搞,所以Spring光靠自己有啥市场
他流行主要还是沾了Hibernate的光,很多人先用Hibernate,然后发现
还有个Spring(这俩以前在developer community经常放一块),
做的东西更系统而且还在扩展,于是纷纷开始用Spring

【在 z*******3 的大作中提到】
: 我敢说你最后一句话肯定是错的
: spring比hibernate强多了
: rod johnson在wikipedia上的条目也比gavin king要强
: gavin king很多人都不知道有这个人
: hibernate是一个好东西
: 但是说因为hibernate才用spring就是一个joke了
: spring就是spring,我们不用hibernate照样跑spring
: 而且spring还可以换其他rom的工具,比如ibatis
: spring从来就不是一个配角,是开发的主角
: 主要是人们不想搭理ejb的session bean才用spring

相关主题
j2ee web 方向的职业规划请推荐一本J2EE的书
j2ee, j2me, j2se 现在哪个用得多?新手学习java spring, hibernate或者struts的问题
Netflix用什么Java Framework (转载)j2ee without EJB
进入Java版参与讨论
z*******3
发帖数: 13709
61
那是你这么认识spring的,并不代表别人也是这么想的
以前不用hibernate的team怎么办?
我遇到的ibatis的team就照样用spring,那你怎么解释这个现象?
sring差不多是过去几年不用ejb以外的唯一可选的框架
你说的那些不过是core java的东西
自己写不是说不行,但是自己写的话,代码的规范是一个很大的问题
不同的人写出不同风格的代码的可能性很大,那怎么统一代码?
就算自己写框架,那么比起spring来说,一般要差得很远,而且重复造轮子了
你可能没搞过,我现在就面对着这种很恶心的问题
代码的耦合过强,可读性太差,搞到现在就有点搞不下去了
所以我们主张用j2ee的各种工具介入来规范这些乱七八糟的代码
搞core java最不好的地方就是什么都自己乱写
spring在这一块大有市场可言

【在 F****n 的大作中提到】
: 我要是04/05年这么说肯定不会有异议,
: 你光在网上查查当然查不到了,历史往往湮灭在书本中啊,
: Spring现在强是因为他功能扩展了很多,
: 但他当初绝对不是靠IoC, DI那一套火起来的,
: 为啥?不是因为IoC不对,而是因为这个东西大多数人都知道
: 当初不用EJB的又不是他一家,我前面已经说了,每个不用EJB的TEAM
: 几乎都会用一个自己开发的类似Spring IoC的东东,JDBC Wrapper
: 很多也自己搞,所以Spring光靠自己有啥市场
: 他流行主要还是沾了Hibernate的光,很多人先用Hibernate,然后发现
: 还有个Spring(这俩以前在developer community经常放一块),

F****n
发帖数: 3271
62
我用自己写的XML-based JavaBeans Configuration的时候还没有Spring呢
Spring后来流行以后当然有许多人直接用它,但和我说的不是一个年代的事啊

【在 z*******3 的大作中提到】
: 那是你这么认识spring的,并不代表别人也是这么想的
: 以前不用hibernate的team怎么办?
: 我遇到的ibatis的team就照样用spring,那你怎么解释这个现象?
: sring差不多是过去几年不用ejb以外的唯一可选的框架
: 你说的那些不过是core java的东西
: 自己写不是说不行,但是自己写的话,代码的规范是一个很大的问题
: 不同的人写出不同风格的代码的可能性很大,那怎么统一代码?
: 就算自己写框架,那么比起spring来说,一般要差得很远,而且重复造轮子了
: 你可能没搞过,我现在就面对着这种很恶心的问题
: 代码的耦合过强,可读性太差,搞到现在就有点搞不下去了

z*******3
发帖数: 13709
63
你可以自己写,但是这么做
一成本太高,无论是开发还是维护
二你写出来的跟spring可能在适用范围上不在一个层次上
所以所有人都会倾向于用spring,而不是让你再造一次轮子

【在 F****n 的大作中提到】
: 我用自己写的XML-based JavaBeans Configuration的时候还没有Spring呢
: Spring后来流行以后当然有许多人直接用它,但和我说的不是一个年代的事啊

g*****g
发帖数: 34805
64
spring is like a replacement of ejb session bean, hibernate is like a
replacement of ejb entity bean. I can see why they are brought together in
the community. But I don't think one really counts on another to be popular.
Both also had their own competition at that time. spring had PicoContainer,
and Guice later on. Hibernate had toplink, iBatis, JDO. I think they stood
out because they were the best of the breed.

【在 F****n 的大作中提到】
: 我用自己写的XML-based JavaBeans Configuration的时候还没有Spring呢
: Spring后来流行以后当然有许多人直接用它,但和我说的不是一个年代的事啊

F****n
发帖数: 3271
65
沟通问题啊,2000年的时候没有Spring, 所有不用Spring的人都自己开发类似的解决方案
和再造轮子有啥关系???因为多数人早已有了自己的解决方案,Spring早期的那些东
西并不足以吸引这部分人(Spring的很多功能是后来才有的)。它能流行就是因为
Hibernate先流行,后来发现对应的还有个开源的Spring也不错,于是都开始用开源的。

【在 z*******3 的大作中提到】
: 你可以自己写,但是这么做
: 一成本太高,无论是开发还是维护
: 二你写出来的跟spring可能在适用范围上不在一个层次上
: 所以所有人都会倾向于用spring,而不是让你再造一次轮子

F****n
发帖数: 3271
66
你说的都对,但要意识到一点,ORM比基于IoC的Bean Configuration难多了,
我前面已经说了,Spring最基础的Bean Configuration之前很多组都有自己的一套,
光是它早期的那些东西(当然现在更强大就不提了),即使更好也不足以让别人转而用它
相反Hibernate的功能是大多数人都没有的,所以一出来流行度非常高

popular.
,

【在 g*****g 的大作中提到】
: spring is like a replacement of ejb session bean, hibernate is like a
: replacement of ejb entity bean. I can see why they are brought together in
: the community. But I don't think one really counts on another to be popular.
: Both also had their own competition at that time. spring had PicoContainer,
: and Guice later on. Hibernate had toplink, iBatis, JDO. I think they stood
: out because they were the best of the breed.

g*****g
发帖数: 34805
67
I think spring came with AOP and things like JDBCTemplate and some good
utilities (String manipulation, loading resource from classpath etc.) even
in early days.
And there's no other good AOP solution at that time. It's more than IoC.

用它

【在 F****n 的大作中提到】
: 你说的都对,但要意识到一点,ORM比基于IoC的Bean Configuration难多了,
: 我前面已经说了,Spring最基础的Bean Configuration之前很多组都有自己的一套,
: 光是它早期的那些东西(当然现在更强大就不提了),即使更好也不足以让别人转而用它
: 相反Hibernate的功能是大多数人都没有的,所以一出来流行度非常高
:
: popular.
: ,

k********e
发帖数: 368
68
简单的说:spring的精髓是IOC,AOP.
但实际中这种思想并不需要每行代码都要用,而是基于这两种思想而建立起来的spring
framework,让你的工作极其简单。不再需要写多余的代码,transaction,service
component,security, DAO, 等都直接可以用annotation标注,你就直接考虑自己的业
务逻辑而已。 那些数据库,安全,事物等都有spring来负责维持和注入。
相反,在此之前,60-80%的代码都是那些可以使用spring annotation可以解决的。
用习惯了,如果在回到老J2EE,感觉是有汽车不开,继续用老牛拉车。
F****n
发帖数: 3271
69
AOP是后来才流行的,一开始属于buzz word, 真正用的不多
JDBCTemplate这些和IoC一样,一般做的早的公司都有自己的Tool
并不会因为这个积极的转到Spring

【在 g*****g 的大作中提到】
: I think spring came with AOP and things like JDBCTemplate and some good
: utilities (String manipulation, loading resource from classpath etc.) even
: in early days.
: And there's no other good AOP solution at that time. It's more than IoC.
:
: 用它

z*******3
发帖数: 13709
70
当时有ejb
spring是不满意ejb搞出来的
当然不排除很多人不用
比如我现在这个
但是我觉得,不用是没有道理的
所以现在我们也在往这个方向上去转
说到底就是spring流行是因为人们不愿意用ejb
这个跟hibernate有什么关系
用hibernate不需要spring一样跑
直接从struts里面搞就行了

方案
的。

【在 F****n 的大作中提到】
: 沟通问题啊,2000年的时候没有Spring, 所有不用Spring的人都自己开发类似的解决方案
: 和再造轮子有啥关系???因为多数人早已有了自己的解决方案,Spring早期的那些东
: 西并不足以吸引这部分人(Spring的很多功能是后来才有的)。它能流行就是因为
: Hibernate先流行,后来发现对应的还有个开源的Spring也不错,于是都开始用开源的。

相关主题
j2ee without EJB不明白Spring Framework很正常
做Java web development 一定要 struts + spring + hibernate 吗java所有工具里面,就数spring最简单了
java的东西好多板上有人讨论淘宝的技术架构
进入Java版参与讨论
z*******3
发帖数: 13709
71
老j2ee不是问题
现在的大部分container都向下兼容
最麻烦的是老core java部分
都是自己乱写,现在代码量很大,光看都看晕了
要在此基础之上继续写,很痛苦
我发现我每次去一家公司,都是被派去做这种事
总是写得一团乱麻的代码丢给我,让我搞定
然后往往是等我搞定了之后,我差不多也找到下家了……

spring

【在 k********e 的大作中提到】
: 简单的说:spring的精髓是IOC,AOP.
: 但实际中这种思想并不需要每行代码都要用,而是基于这两种思想而建立起来的spring
: framework,让你的工作极其简单。不再需要写多余的代码,transaction,service
: component,security, DAO, 等都直接可以用annotation标注,你就直接考虑自己的业
: 务逻辑而已。 那些数据库,安全,事物等都有spring来负责维持和注入。
: 相反,在此之前,60-80%的代码都是那些可以使用spring annotation可以解决的。
: 用习惯了,如果在回到老J2EE,感觉是有汽车不开,继续用老牛拉车。

1 (共1页)
进入Java版参与讨论
相关主题
j2ee web 方向的职业规划不明白Spring Framework很正常
j2ee, j2me, j2se 现在哪个用得多?java所有工具里面,就数spring最简单了
Netflix用什么Java Framework (转载)板上有人讨论淘宝的技术架构
请推荐一本J2EE的书any good j2ee book?
新手学习java spring, hibernate或者struts的问题学习J2EE
j2ee without EJB请教一下怎么学习java framework,怎么找java工作
做Java web development 一定要 struts + spring + hibernate 吗Goodbug能提供一些Spring, Hibernate, Cassandra入门资料吗
java的东西好多怎么能学成J2EE的全能
相关话题的讨论汇总
话题: spring话题: hibernate话题: ejb话题: j2ee话题: db