面试中怎么回答Spring,IOC,AOP

如今开始将会把我面试中遇到的问题作一个总结每一条问题做为一篇简短的博客叙述.

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

答:面试

spring:
1)开源框架
2)IoC(控制反转),将类的建立和依赖关系写在配置文件里,由配置文件注入,实现了松耦合
3)AOP 将安全,事务等于程序逻辑相对独立的功能抽取出来,利用spring的配置文件将这些功能插进去,实现了按照方面编程,提升了复用性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例外。浏览器