Spring面试资料

1.什么是spring?
Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。spring的设计思想是单例模式和工厂模式.工厂模式不能控制对象的生命周期,能解决对象之间的依赖关系.而Spring的IOC就会解决这些问题.Spring不依赖于web容器,而仍然支持使用声明式事务和web service远程调用
2 spring的优点:
1.Spring的DI机制降低了业务对象替换的复杂性
2.spring不依赖于web容器,独立于各种应用服务器. Write Once,Run Anywhere(一次编译 到处运行)
3.高度开放性:Spring并不完全依赖于Spring,开发者可自由选用Spring框架的部分或全部,它的架构仍然是内在稳定的.
3. spring的缺点:
1.使用AOP,中断了程序的逻辑,使代码变的不完整,不直观.
2. 不支持分布式部署。无法把一个bean给fail over或者re-deploy。
3.代码不便于维护.
4.控制器关于灵活,缺少一个公共的控制器.
4.公司怎么用?
在web.xml里配置一个监听器.
在jsp页面发送请求个到后台的时候,我们是通过spring的注解只要在每个方法的上面加上@RequestMapping写上与页面相同的action地址,在类的上面标明@controller他是一个控制器,
在连接service层的时候,我们只要autowire 加上service的类名,但是service层和dao层都是要加@service给他们注入实例。
在dao层连接数据库的话,我们是用jdbc的模板来操作的,只要注入一个dataSourcer然后继承jdbcTempleta就可以了。
然后回到controller层的时候通过modelAndView转发给页面,
在业务需要的时候,我们会使用aop做登录日志,注册成功之后发送邮件等等。
有什么经验和教训?
1.在使用Spring框架编写程序的时候一定要写上注释,以方便于日后的维护.
2.谨慎使用AOP,中断程序的逻辑,使代码变得不完整,不直观.
3.要学好英语!(这个是重点)
整体结构:
spring的组成部分 七大模块:
1.Spring Core:Spring的基石,提供了Spring的最主要的核心机制:控制反转和 依赖注入
2.Spring Context:提供了Spring的上下文信息,如:国际化,验证等
3.Spring Web支持:简化了处理多部分请求
4.Spring MVC框架支持:一个全功能的构建 Web 应用程序的 MVC 实现,MVC 容纳 了大量 视图技术,其中包括 JSP、Velocity等。
5.Spring Dao支持:Spring的Dao支持大大的简化了JDBC操作数据库所带来的繁 琐
6.Spring ORM支持 pring框架集成了若干ORM框架,从而提供了ORM的对象关系工 具,其中包括 JDO、Hibernate、iBatis和TopLink。 所有这些都遵从Spring的 通用事务和DAO异常层结构。
7.Spring AOP:面向方面编程,提供了事务,日志,权限,安全等处理机制
AOP(面向切面编程):
AOP是OOP的延续,AOP的底层实现有两种:
① 使用动态代理(有一个接口,一个类)
② ② 使用cglib(只有一个具体的类)
        AOP是面向切面编程,消除了编码模块之间的依赖,可以在任意阶段, 向已有功能模块中填加新功能,且不侵入原有功能
处理非业务性逻辑(事务,log日志,注册成功发送邮件等…)

控制反转(IOC):
控制权的转移就是所谓的反转.
控制反转和依赖注入(DI)是同一个概念,取了不同的名字罢了,主要作用是:在运行期,由外部容器动态地将依赖对象注入到组件中,
是由 马丁•福勒 提出
依赖注入是由工厂模式来实现的,这样会给我们带来很大的好处,比如:
我们以前是用new关键字来实例化一个对象的,每次调用对象的时候都要创建一个新的对象,当这个对象被多次调用的时候,就会不便于维护,而通过工厂模式就不会,比如: 在一个项目的维护中,要求修改一个对象,而这个对象被调用了1000次或者10000次,如果是用new关键字来实例化的,那么你就要修改1000次或者10000次,这样很麻烦,还有可能遗漏.如果是用工程模式来实例化的,只要修改他的实现即可,
工程模式可以返回原返回类型的任何子类型对象,工程模式创建出来的对象方便管理.
同类框架比较:
(跟工厂模式比较)
1.Spring能控制对象的生命周期
2.Spring的高度开放性,开发者可选用Spring框架的部分或全部,他的架构仍然是内在稳定的.

学到的思想:
IOC思想:就是调用者不再创建被调用者的实例
AOP思想: 运行期的监控,处理非业务性逻辑(比如:登陆日志,注册成功发送邮件等…).

Spring容器:
Spring 的容器最基本的接口就是: BeanFactory 负责配置、创建及管理bean,它有个子接口: ApplictionContext,因此也被称为 Spring 上下文。另外,Spring容器还负责管理bean 与 bean之间的依赖关系。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值