1. 为什么要用spring?
Spring是一个轻量级的IOC和AOP框架。
IOC(控制反转)意味着将你设计好的类交给系统去控制,而不是在你的类内部控制。这称为控制反转
AOP(面向切面),它将那些影响多个类的行为封装到可重用的模块中,面向对象是把问题从同类事物中抽象出来,面向切面是把问题从不同类问题中抽象出来。
2. struts框架提供了哪些辅助功能
自动收集数据(成员变量)
支持类型转换
国际化
异常处理
标签
3. struts1和struts2的区别
1 struts1 控制器servlet struts2控制器filter
2 struts 收集数据时 ActionForm Struts2 成员变量
3 struts1 execute(Resquest,Response)
struts2 execute()
4 struts1 与ServletAPI耦合性强
struts2 与ServletAPI耦合性低
5 struts1 没有拦截器 struts2有拦截器(可以使代码各司其职)
6 struts1只能使用jstl标签,而struts2提供了OGNL表达式
4. J2EE共有23中设计模式,说出其中几种常用的:
工厂模式(Factory)单例模式(Singleton)
适配器模式(Adapter)代理模式(Proxy)
模板方法模式(Template Method)
5. Hibernate对象状态有哪几种,并简单介绍一下。
1.临时状态:内存对象,并没有保存在数据库
2.持久化状态 已经保存在数据库并纳入了session缓存中
3.游离状题啊 已经保存在数据库中,但没有纳入session缓存中
6.spring 的优点?
降低了组件之间的耦合性 ,实现了软件各层之间的解耦
可以使用容易提供的众多服务,如事务管理,消息服务等
容器提供单例模式支持
容器提供了AOP技术,利用它很容易实现如权限拦截,运行期监控等功能
容器提供了众多的辅助类,能加快应用的开发
spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等
spring属于低侵入式设计,代码的污染极低
独立于各种应用服务器
spring的DI机制降低了业务对象替换的复杂性
Spring的高度开放性,并不强制应用完全依赖于Spring,开发者可以自由选择spring的部分或全部