g*******7 发帖数: 269 | 1 刚开始接触spring,发现实现的功能十几行代码就能搞定,接着为了插进公司已经有的
代码(基于spring),费了两天。。。
谢谢。 |
W***o 发帖数: 6519 | 2 说明你能力不行?
【在 g*******7 的大作中提到】 : 刚开始接触spring,发现实现的功能十几行代码就能搞定,接着为了插进公司已经有的 : 代码(基于spring),费了两天。。。 : 谢谢。
|
g*****g 发帖数: 34805 | 3 说明你不熟悉spring?
【在 g*******7 的大作中提到】 : 刚开始接触spring,发现实现的功能十几行代码就能搞定,接着为了插进公司已经有的 : 代码(基于spring),费了两天。。。 : 谢谢。
|
b***i 发帖数: 3043 | 4 问个autowire问题,是不是
@Autowired
UserDao userdao;
是不是,这个bean名字是userDao,就被生成到了userdao这个property那里?可是大小
写不完全对吧?
【在 g*****g 的大作中提到】 : 说明你不熟悉spring?
|
i**w 发帖数: 883 | 5 autowiring by type
【在 b***i 的大作中提到】 : 问个autowire问题,是不是 : @Autowired : UserDao userdao; : : : 是不是,这个bean名字是userDao,就被生成到了userdao这个property那里?可是大小 : 写不完全对吧?
|
z****e 发帖数: 54598 | 6 decoupling啊
这个是造成memory leak的主因
不过spring要用你两天吗?
我当初搞spring,就用了半个小时就搞定了 |
z****e 发帖数: 54598 | 7 根据id绑定
因为你的UserDaoImpl implements UserDao
这个你试试不就知道了?
【在 b***i 的大作中提到】 : 问个autowire问题,是不是 : @Autowired : UserDao userdao; : : : 是不是,这个bean名字是userDao,就被生成到了userdao这个property那里?可是大小 : 写不完全对吧?
|
c******3 发帖数: 296 | 8 对@Autowired来说,bean名字不重要,type匹配就好了。
【在 b***i 的大作中提到】 : 问个autowire问题,是不是 : @Autowired : UserDao userdao; : : : 是不是,这个bean名字是userDao,就被生成到了userdao这个property那里?可是大小 : 写不完全对吧?
|
g*******7 发帖数: 269 | 9 显然不是用spring花了那么久,网上spring官方tutorial跟着走,也就是15分钟。
必须用了公司另外一个组包装好的库,几个dependency,然后spring版本又冲突,还有
spring-
security版本的兼容性问题。所以问题才这么多。后来看了一晚上spring的文档,第二
天十分钟搞定。
你是SVM?
【在 z****e 的大作中提到】 : decoupling啊 : 这个是造成memory leak的主因 : 不过spring要用你两天吗? : 我当初搞spring,就用了半个小时就搞定了
|
g*******7 发帖数: 269 | 10 don't judge.谁都有从不懂到熟悉的过程。这里讨论的spring为什么这么流行,它有什
么好处。不要讨论人。
【在 W***o 的大作中提到】 : 说明你能力不行?
|
|
|
m********s 发帖数: 55301 | 11 规范。标准。
让几百人写的code也能被另外几百人看懂。
【在 g*******7 的大作中提到】 : don't judge.谁都有从不懂到熟悉的过程。这里讨论的spring为什么这么流行,它有什 : 么好处。不要讨论人。
|
z****e 发帖数: 54598 | 12 你弄了太多components了
spring就一个spring core就好了
其他的不管
dependency用maven解决
核心就是ioc,ioc理解起来很容易的
aop我怀疑你用不用
【在 g*******7 的大作中提到】 : 显然不是用spring花了那么久,网上spring官方tutorial跟着走,也就是15分钟。 : 必须用了公司另外一个组包装好的库,几个dependency,然后spring版本又冲突,还有 : spring- : security版本的兼容性问题。所以问题才这么多。后来看了一晚上spring的文档,第二 : 天十分钟搞定。 : 你是SVM?
|
z****e 发帖数: 54598 | 13 spring这些年越来越象ejb或者说jee全部了,做的东西越来越多
ejb倒是越来越象spring了,各种components都在简化 |
z****e 发帖数: 54598 | 14 不过aop用来做log非常之爽
可以实现log代码和logic代码完全分离
log.warn(...)这种代码在beans中减少真是一大乐事
而且规范很多,每次invoke都会有log,查起来也很方便
spring成名于ioc和aop
ioc把整个生命周期交给了framework去管理
aop则是拓展了oop,跟fp一样,整个思路要转变
fp未必用,但是aop我觉得用用蛮好 |
z****e 发帖数: 54598 | 15 spring对于ioc的时间是革命性的
虽然理论提出者不是rod johnson
但却是此人把ioc发扬光大,让所有人都意识到
原来还可以这么写代码,core java和jee的主要区别就在ioc上
ioc是分界线,就像gc是java和c的分界线一样 |
z****e 发帖数: 54598 | 16 以前c时代,你要负责管理所有内存对象的生命周期
一旦忘记释放内存,很快就leak了,就挂了
java提出之后,java说,这个交给jvm来干
然后优化jvm,从最早的reference count到现在的内存管理
其实挺复杂的,而且还在演化中
但是基本上说是,只要内存释放得当,绝大部分的内存都可以很好地被管理起来
这是一大进步,大大减少了内存泄漏的可能性
spring则提出了更高级的一步,spring说
你现在不仅内存释放不用管了,内存分配你也别管了
我来管,我来负责new这些对象,你只需要把逻辑部分代码写清楚
剩下的我来搞定,这样的话,内存泄漏几乎不可能存在
除非你蠢到家了,其实有了spring,再搞fp会很容易
java通过反射来变相搞fp,但就是fp本身不太容易理解
思路要转变,这个我不太赞同,oop更接近人的思维,而不是数学家的思维
等真搞数学,比如统计的时候,你再考虑用其他的语言也不迟
不管怎样,spring基本上把所有的beans生命周期都搞定了
spring理论上把你内存的利用tune到最优了
解决了不仅仅是decoupling还同时优化了内存的使用
不过这里面有一点点风险,你必需知道spring对于每一个beans
都是singleton的,所有的threads都共享一个内存对象
所以不要在beans中存状态,会挂的
要存的话,你要用prototype,每次调用都复制一个对象
这样可以隔离threads,让每个thead都有自己得一个状态
就像hibernate里面的threadlocal
那这个搞起来就麻烦了,我觉得ejb其实设计得挺好
stateless, stateful和singleton面面俱到
spring把所有得都搞成singleton也有些问题 |
b***i 发帖数: 3043 | 17 我还是不理解啊。比如, HomePageController类有个Autowired UserService
userService;
那么,spring是在生成这个类的对象的时候就自动生成了userService?
然后我如果UserServiceImpl 和UserServiceImpl2都实现了UserService,那么如何决定
HomePageController这里的userService是用哪个呢?
【在 z****e 的大作中提到】 : 以前c时代,你要负责管理所有内存对象的生命周期 : 一旦忘记释放内存,很快就leak了,就挂了 : java提出之后,java说,这个交给jvm来干 : 然后优化jvm,从最早的reference count到现在的内存管理 : 其实挺复杂的,而且还在演化中 : 但是基本上说是,只要内存释放得当,绝大部分的内存都可以很好地被管理起来 : 这是一大进步,大大减少了内存泄漏的可能性 : spring则提出了更高级的一步,spring说 : 你现在不仅内存释放不用管了,内存分配你也别管了 : 我来管,我来负责new这些对象,你只需要把逻辑部分代码写清楚
|
i**w 发帖数: 883 | 18 @Qualifier,这些都在官方文档里
【在 b***i 的大作中提到】 : 我还是不理解啊。比如, HomePageController类有个Autowired UserService : userService; : 那么,spring是在生成这个类的对象的时候就自动生成了userService? : 然后我如果UserServiceImpl 和UserServiceImpl2都实现了UserService,那么如何决定 : HomePageController这里的userService是用哪个呢?
|
r****y 发帖数: 26819 | 19 不是说五分钟么。版本更新了。
【在 z****e 的大作中提到】 : decoupling啊 : 这个是造成memory leak的主因 : 不过spring要用你两天吗? : 我当初搞spring,就用了半个小时就搞定了
|
z****e 发帖数: 54598 | 20 5分钟就跑起来了
半小时就搞定,搞其他的去了
当时还有hibernate和structs
就spring就快,hibernate搞的时间最久
【在 r****y 的大作中提到】 : 不是说五分钟么。版本更新了。
|