您的位置:首页 > 编程语言 > Java开发

谈谈个人对Spring的理解

2015-11-17 10:48 239 查看
现在开始将会把我面试中遇到的问题做一个总结每一条问题作为一篇简短的博客叙述.

1.你对spring的理解是什么?

答:

spring:

1)开源框架

2)IoC(控制反转),将类的创建和依赖关系写在配置文件里,由配置文件注入,实现了松耦合

3)AOP 将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,实现了按照方面编程,提高了复用性

如果按着概念来回答的话:

spring是一个轻型容器(light-weight container),其核心是Bean工厂(Bean Factory),用以构造我们所需要的M(Model)。在此基础之上,Spring提供了AOP(Aspect-Oriented Programming, 面向层面的编程)的实现,用它来提供非管理环境下申明方式的事务、安全等服务;对Bean工厂的扩展ApplicationContext更加方便我们实现J2EE的应用;DAO/ORM的实现方便我们进行数据库的开发;Web MVC和Spring
Web提供了Java Web应用的框架或与其他流行的Web框架进行集成。

面试的人会问到:struts跟spring的区别?

structs:和ww2等一样,都是典型的mvc结构框架,至于mvc是什么,地球人都知道,如果你不知道就google吧:),structs偏重于表现层,它自己起一个控制器的作用即controller,它可以良好的把表现层与业务层分离开来。 

spring:说白了就是一个大杂烩,提供了目前各种流行框架的集成,经典的有对hibernate的集成,此外,如mail,axis...各种都有。另外,它比较经典的就是IOC与AOP的功能,楼上已经有人说了,如果你不知道,去google。此外,它还提供了Spring MVC,它基于webflow,至于用法,去查它的文档。 

structs的actionform是公认的败笔,我用得痛苦得不得了。 

另外,你说的重复提交,那是浏览器的问题,和structs无关。看你如何指挥浏览器了,如果你用redirect,就没有重复提交的问题,因为浏览器已经重定向了。但是你用forward,那在你刷新的时候就是重复提交。 

Spring比较偏重于业务层,在页面上一般是不显示出来的。当然,如果你用Spring的MVC例外。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: