1. SpringMVC与Struts2的主要区别?
springmvc入口为servlet即前端控制器,struts2入口为过滤器考虑因素。
springmvc是基于方法开发的,传递参数的是方法型参数,可以设计为单个实例或多个实例。 struts2是基于类开发的,传递参数是类的属性,只能设计为多个实例。
Struts使用值堆栈存储请求和响应的数据,通过OGNL访问数据。 springmvc通过参数解析器将request对象的内容解析为方法参数,将响应数据和页面封装为ModelAndView对象,最后将模型数据通过request对象传输到页面。 缺省情况下,Jsp视图解析器使用jstl。
2. Spring中用到哪些设计模式?
1 .工厂模式(BeanFactory中) )。
2 .单实例模式(Spring中默认bean为单实例模式) )。
3 .适配器模式(HandlerAdater )。
4 .装饰人员模式
5 .代理模式(AOP中使用JDK动态代理) ) ) ) ) ) ) )。
6 .观察者模式(监听器的实现,例如应用监听器)。
7 .战略模式(定义一系列算法,将它们一一封装,并且可以相互置换。 实例化对象时使用)
8 .模板模式(JDBC模板)。
3. SpringMVC的工作流程?
1 .用户向前端控制器dispatcher servlet发送请求
2.dispatcher servlet接收请求并调用handler映射处理器映射器。
3 .处理器映射器基于请求url找到特定处理器,生成处理器对象,生成处理器阻塞器(如果存在),并将它返回到dispatcher servlet。
4.dispatcher servlet从处理程序适配器调用处理器
5 .执行处理器(也称为控制器、后端控制器)。
6 .控制器运行完成后返回ModelAndView
7. HandlerAdapter将控制器的运行结果ModelAndView返回给dispatcher servlet
ustify;">8. DispatcherServlet将ModelAndView传给ViewReslover视图解析器9. ViewReslover解析后返回具体View
10. DispatcherServlet对View进行渲染视图(即将模型数据填充至视图中)。
11. DispatcherServlet响应用户
4. Spring在SSM起什么作用?
Spring是一个轻量级框架,也是一个容器,Spring实质上讲就是一个Bean工厂,主要用来管理Bean的生命周期和框架集成。有IOC控制反转,DI依赖注入,控制反转是把dao依赖注入到servic层,然后service层反转给action层,Spring的顶层容器为BeanFactory,常用的ApplicationContext为它的子接口,实现了工厂模式,Spring还提供了AOP的支持,方便在切面级开发,
5. 怎么样理解IOC和DI
在使用Spring框架的过程中、一定会用到控制反转、但是往往所需要的资源还需要其他资源的支持、这个过程就需要依赖注入的支持
6. Spring的事务,事务的作用。
编程式事务管理:这意味你通过编程的方式管理事务,给你带来极大的灵活性,但是难维护。
声明式事务管理:这意味着你可以将业务代码和事务管理分离,你只需用注解和XML配置来管理事务。
7. Spring的IOC你在项目中是怎么使用的?
IOC主要来解决对象之间的依赖问题,把所有的bean的依赖关系通过配置文件或者注解关联起来,降低了耦合度。
8. Spring的配置文件有哪些内容?
开启事务注解驱动
事务管理器
开启注解功能,并配置扫描包
配置数据源
配置SQL会话工厂、别名、映射文件
不用编写DAO层的实现类(代理模式)
7.说下Spring的注解?
@Controller
@Service
@Component
@RequestMapping
@Resource、@Autowired
@ResponseBody
@Transactional