r*******e 发帖数: 971 | 1 1 我理解Java Spring MVC所谓的依靠注入,主要原因是因为java支撑的服务器只会编
译一次,因此绝大多数的对象(内存代码)都只能在运行时用反射机制建立。由于建立
对象所需的数值在运行时才存在,于是spring中需要Bean这个抽象容器描述对象,在运
行时注入具体参数建立对象。
2. Spring用Annotation Driven的主要意义是减少代码量。
3. Spring MVC的主要优点是运行效率高(相对Python Ruby PHP)
在Net I/O 密集与CPU 密集的场合都有很好的表现(不见得是最好)
方便分工协作。
缺点,太抽象,很难懂。没法热调试。
我的想法对么?
然后AOP (aspect oriented programming) 到底啥么意义?? |
l**********n 发帖数: 8443 | 2 MVC有啥难懂的,不就是controller, model 和view吗? |
g*****g 发帖数: 34805 | 3 Spring MVC算是很容易理解的framework,跟其他语言的MVC framework也没有质的区别。
【在 r*******e 的大作中提到】 : 1 我理解Java Spring MVC所谓的依靠注入,主要原因是因为java支撑的服务器只会编 : 译一次,因此绝大多数的对象(内存代码)都只能在运行时用反射机制建立。由于建立 : 对象所需的数值在运行时才存在,于是spring中需要Bean这个抽象容器描述对象,在运 : 行时注入具体参数建立对象。 : 2. Spring用Annotation Driven的主要意义是减少代码量。 : 3. Spring MVC的主要优点是运行效率高(相对Python Ruby PHP) : 在Net I/O 密集与CPU 密集的场合都有很好的表现(不见得是最好) : 方便分工协作。 : 缺点,太抽象,很难懂。没法热调试。 : 我的想法对么?
|
z*******3 发帖数: 13709 | 4 mvc
di
aop
包括
annotation
都不是一个概念
不要互相混
你把这些概念全部混淆了 |
z*******3 发帖数: 13709 | 5 spring你还是从spring core开始搞 |
z*******3 发帖数: 13709 | 6 mvc是pattern
di是pattern
aop是paradigm
annotation是metadata form
【在 l**********n 的大作中提到】 : MVC有啥难懂的,不就是controller, model 和view吗?
|
z*******3 发帖数: 13709 | 7 弄spring,先忘掉mvc
先从spring core开始搞
把最基本的di搞明白
mvc你换个框架也都一样
struts什么也都是mvc
包括ror
pattern,只要都是oop,pattern都是通用的
不管你用啥语言
aop是另外一种paradigm,思维上跟oop有所差异
至于annotation,这个不过是你标注的一种方式而已
用xml也可以,spring在启动的时候会自动扫描这些metadata
然后构建自己的index
你先把spring core弄明白,用main把spring跑起来,把di弄明白
然后单独搞tomcat,把servlet和jsp这些搞明白,一般tomcat的开发pattern其实也是
mvc
最后再把spring mvc套上去,前两个不清不楚,直接上spring mvc很容易晕 |
z*******3 发帖数: 13709 | 8 aop是你最后一个去弄的东西
不是很多人明白aop是咋回事
aspect j用的人不多
spring aop可能用得多一点吧 |
b***i 发帖数: 3043 | 9 我的两分钱:
1 我觉得C++也可以实现注入,就是得靠动态库,还比如ActiveX也是类似的。当时
ActiveX就是和Java Beans竞争的。
2 我感觉,注入和实现script语言类似,如果能够在解释程序运行的时候动态生成变量
,那就是注入。而Java本身也支持reflection可以这样做。我还记得10年前,板上有人
说,反射太难调试,不建议学,于是就没学。要不,spring就是我搞出来的拉。
供大家一笑
【在 r*******e 的大作中提到】 : 1 我理解Java Spring MVC所谓的依靠注入,主要原因是因为java支撑的服务器只会编 : 译一次,因此绝大多数的对象(内存代码)都只能在运行时用反射机制建立。由于建立 : 对象所需的数值在运行时才存在,于是spring中需要Bean这个抽象容器描述对象,在运 : 行时注入具体参数建立对象。 : 2. Spring用Annotation Driven的主要意义是减少代码量。 : 3. Spring MVC的主要优点是运行效率高(相对Python Ruby PHP) : 在Net I/O 密集与CPU 密集的场合都有很好的表现(不见得是最好) : 方便分工协作。 : 缺点,太抽象,很难懂。没法热调试。 : 我的想法对么?
|
r*******e 发帖数: 971 | 10 就你看懂我问啥了,前面回帖要是面试回答,统统都挂掉。
【在 b***i 的大作中提到】 : 我的两分钱: : 1 我觉得C++也可以实现注入,就是得靠动态库,还比如ActiveX也是类似的。当时 : ActiveX就是和Java Beans竞争的。 : 2 我感觉,注入和实现script语言类似,如果能够在解释程序运行的时候动态生成变量 : ,那就是注入。而Java本身也支持reflection可以这样做。我还记得10年前,板上有人 : 说,反射太难调试,不建议学,于是就没学。要不,spring就是我搞出来的拉。 : 供大家一笑
|
|
|
c*********e 发帖数: 16335 | 11 别问太多理论问题。自己用spring mvc搞出个demo网站,让这个版的人看看,提个建议
才是正经。
【在 r*******e 的大作中提到】 : 1 我理解Java Spring MVC所谓的依靠注入,主要原因是因为java支撑的服务器只会编 : 译一次,因此绝大多数的对象(内存代码)都只能在运行时用反射机制建立。由于建立 : 对象所需的数值在运行时才存在,于是spring中需要Bean这个抽象容器描述对象,在运 : 行时注入具体参数建立对象。 : 2. Spring用Annotation Driven的主要意义是减少代码量。 : 3. Spring MVC的主要优点是运行效率高(相对Python Ruby PHP) : 在Net I/O 密集与CPU 密集的场合都有很好的表现(不见得是最好) : 方便分工协作。 : 缺点,太抽象,很难懂。没法热调试。 : 我的想法对么?
|
r*******e 发帖数: 971 | 12 都在后台,能提啥么建议啊,一个demo网站也没有流量负担。
【在 c*********e 的大作中提到】 : 别问太多理论问题。自己用spring mvc搞出个demo网站,让这个版的人看看,提个建议 : 才是正经。
|
a*f 发帖数: 1790 | 13 源码直接上到github就可以看了
activeX感觉主要靠内嵌对象接口来调用,比较复杂而且不容易统一,不像 Java Bean
基本都是POJO对象注入简单容易形成规范。而且DDL的接口层只有import和export
table,不像Java把class的definition table都放在对象里面可以用reflection class
去调用和修改当前对象。
【在 r*******e 的大作中提到】 : 都在后台,能提啥么建议啊,一个demo网站也没有流量负担。
|
z****e 发帖数: 54598 | 14 动态生成变量是第一步
这个其实不难,反射很容易实现
你还需要把这个变量给inject进去
把reference给指向这个变量
我觉得这一步才是大头
【在 b***i 的大作中提到】 : 我的两分钱: : 1 我觉得C++也可以实现注入,就是得靠动态库,还比如ActiveX也是类似的。当时 : ActiveX就是和Java Beans竞争的。 : 2 我感觉,注入和实现script语言类似,如果能够在解释程序运行的时候动态生成变量 : ,那就是注入。而Java本身也支持reflection可以这样做。我还记得10年前,板上有人 : 说,反射太难调试,不建议学,于是就没学。要不,spring就是我搞出来的拉。 : 供大家一笑
|
l**********n 发帖数: 8443 | 15 adapter pattern.
【在 z****e 的大作中提到】 : 动态生成变量是第一步 : 这个其实不难,反射很容易实现 : 你还需要把这个变量给inject进去 : 把reference给指向这个变量 : 我觉得这一步才是大头
|
z****e 发帖数: 54598 | 16 这跟adapter pattern什么关系?
这又不是接口不统一
用反射你管他啥,知道名字就能找到了
【在 l**********n 的大作中提到】 : adapter pattern.
|
l******t 发帖数: 55733 | 17 bean 管理就理解成是一个实例大字典,要啥去里面找就是了。其他注入什么的就是如
何建这个字典和如何找 |