论坛首页 Java企业应用论坛

spring面试题 对DI , AOP概念的理解

浏览 31904 次
精华帖 (0) :: 良好帖 (2) :: 新手帖 (1) :: 隐藏帖 (1)
作者 正文
   发表时间:2010-07-24  
搬走收藏~我刚毕业正好用。
0 请登录后投票
   发表时间:2010-07-24  

你的观点我有一部分认同,这种认同来源于市面上框架的滥用所造成的学习成本大于开发所带来的便利成本,比如有的人因为觉得ibatis有的优点Hibernate没有,于是去学ibatis,结果的确ibatis为项目带来了好处,但是所耗费的学习成本却远大大于项目带来的好处...对知识充满追求是好的,但是过度学习,就会影响工作产出和学习的平衡

不认同的部分,不提spring的一大堆天花乱坠的概念,关心的是不使用spring的时候,用struts和hibernate如何去进行事务的处理,放弃声明式使用编程式?这样代码将会多很多



关于事务的处理 我的方法是写个带事务的struts action,抓住exception后整个con回退
这种方式很老式,对于众牛人参与的上亿的项目可能不适用 但是对我做得这些中等项目即方便 也清晰。




0 请登录后投票
   发表时间:2010-07-25  
记得我去面试的时候,人家问我:你会spring ?那依赖注入这样的小儿科咱就不问了,直接来AOP吧!
0 请登录后投票
   发表时间:2010-07-25  
spring 难道没有弱点吗?
0 请登录后投票
   发表时间:2010-07-25  
说到spring,我有点小小的疑问,
我先说下我对spring的认识啊,spring中最主要的两个思想是ioc,aop
ioc就体现在工厂模式的应用,也就是说我们采用的都是面向接口的方式的编程,以后如果实现类发生变化了,可以通过修改配置文件而不用修改代码来实现系统的灵活性,但是实际上好像这种需求并不多啊,我们项目中都是一个接口,一个实现类,也就是说配置文件我们添加一个Dao的时候才去改配置文件,之后就再也不去动了,反而接口是经常变动的,因为需求是一直在增加的,所以给我的感觉就是接口成为了一个累赘,我改一个接口就要改一堆的东西(因为我们分了好几层,而一个方法的添加就从dao一直污染到顶层了),我觉得还不如直接创建一个实现类来的方便.
还有一个就是aop,我觉得主要就是用来做事务和日志的,但是这些用动态代理就可以实现了,我觉得spring太复杂了,没有必要用的
不知道我这两个思想有什么问题,麻烦你讲解一下.
0 请登录后投票
   发表时间:2010-07-25  
finallygo 写道
说到spring,我有点小小的疑问,
我先说下我对spring的认识啊,spring中最主要的两个思想是ioc,aop
ioc就体现在工厂模式的应用,也就是说我们采用的都是面向接口的方式的编程,以后如果实现类发生变化了,可以通过修改配置文件而不用修改代码来实现系统的灵活性,但是实际上好像这种需求并不多啊,我们项目中都是一个接口,一个实现类,也就是说配置文件我们添加一个Dao的时候才去改配置文件,之后就再也不去动了,反而接口是经常变动的,因为需求是一直在增加的,所以给我的感觉就是接口成为了一个累赘,我改一个接口就要改一堆的东西(因为我们分了好几层,而一个方法的添加就从dao一直污染到顶层了),我觉得还不如直接创建一个实现类来的方便.
还有一个就是aop,我觉得主要就是用来做事务和日志的,但是这些用动态代理就可以实现了,我觉得spring太复杂了,没有必要用的
不知道我这两个思想有什么问题,麻烦你讲解一下.



最好不要修改接口,可以添加新的方法,淘汰前面的方法。类似于你这样的需求,过多的接口是没有必要的。可以设计动态参数,不过设计抽象不容易。

至于AOP,Spring AOP也是建立在他人的技术上的。利用动态代理是实现的,不过HardCode比较多。
0 请登录后投票
   发表时间:2010-07-26  
spring 除了做事务管理和日志外 , 其他的却是用的很少

我个人觉得spring搞的太复杂了

0 请登录后投票
   发表时间:2010-07-27  
javajdbc 写道
我想这些东东 也只有在面试的时候 提到。。。。

都快忘干净了



同感啊,前几天面试几家公司,问到SSH的一些概念问题,都答的不是很好。
0 请登录后投票
   发表时间:2010-07-27  
好多人都是这样  如果准备换工作的话 

就要好好的准备点
0 请登录后投票
   发表时间:2010-07-28  
finallygo 写道
说到spring,我有点小小的疑问,
我先说下我对spring的认识啊,spring中最主要的两个思想是ioc,aop
ioc就体现在工厂模式的应用,也就是说我们采用的都是面向接口的方式的编程,以后如果实现类发生变化了,可以通过修改配置文件而不用修改代码来实现系统的灵活性,但是实际上好像这种需求并不多啊,我们项目中都是一个接口,一个实现类,也就是说配置文件我们添加一个Dao的时候才去改配置文件,之后就再也不去动了,反而接口是经常变动的,因为需求是一直在增加的,所以给我的感觉就是接口成为了一个累赘,我改一个接口就要改一堆的东西(因为我们分了好几层,而一个方法的添加就从dao一直污染到顶层了),我觉得还不如直接创建一个实现类来的方便.
还有一个就是aop,我觉得主要就是用来做事务和日志的,但是这些用动态代理就可以实现了,我觉得spring太复杂了,没有必要用的
不知道我这两个思想有什么问题,麻烦你讲解一下.

个人觉得spring其实就一个ioc思想,aop=ioc+动态代理,spring aop提到如此高度正是ioc的辅佐,用spring的aop完全是为了用其ioc,要不然就像你说的自己封装个动态代理完全可以实现了。
每次写个业务组件一个接口一个实现类,觉得有点为了ioc而ioc了,没那个必要了
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics