SSM篇
一.什么是spring?
- 是一个轻量级的开源框架,是为了解决企业开发的复杂型而创建的;
- 通俗的讲spring就是为了创建对象,在spring框架中的核心就是IOC(控制反转,也就是xml依赖),AOP(面向切面编程,感觉跟动态代理差不多,添加功能但是不修改原有的代码)
- 主要是不创建对象,但是描述创建它们的方式,在代码中不直接与对象和服务连接,但在配文件中描述哪一组件需要哪一个服务;
二. 什么是spring的依赖注入?
依赖注入是IOC的一个方面,是一个通常的概念,这个概念是你不用创建对象,而是描述他是怎样被创建的即可。不用在代码里直接组装你的组件和服务,但是需要在配置文件里描述什么样的组件需要服务,之后IOC容器就会负责组装他们。
三.什么是mvc?
Mvc是一种开发模式可以分为三层:
controller层:称为控制层,它不会执行逻辑,应用程序中处理用户交互部分。
Model层:称为业务层,负责处理应用程序中的逻辑问题,一般有效代码在model层完成。
View层:视图层,应用程序中负责展示数据的部分。
四.什么是spring mvc?
首先是一个MVC框架,在Web模型中,MVC是一种很流行的框架,通过把Model,View,Controller分离,把较为复杂的web应用分成逻辑清晰的几部分,是为了简化开发,减少出错。还是为了组内开发人员之间的配合。总之就是一种分层工作的办法。
在者是spring的一个子框架,也拥有spring的特性,比如是依赖注入。
五.Spring mvc的流程?
- 发起请求到前端控制器(DispatcherServlet)
- 前端控制器请求HandleMapping(处理器映射器,可以通过xml和注解进行查找)
- 处理器映射器向前端控制器返回一个handler对象
- 前端控制器(DispatcherServlet)调用处理器适配器(HandlerAdapter)执行Handler
- 处理器适配器执行handler
- Handler执行完成之后给处理器适配器返回一个modelandview对象
- 处理器适配器向前端控制器返回一个modelandview对象
- 前端控制器请求视图解析器解析视图
- 视图解析器向前端控制器返回一个真正的视图(jsp)
- 前端控制器进行视图渲染,填充到request域中
- 前端控制器向用户展示
六.需要的组件?
组件:
1、前端控制器 DispatcherServlet(不需要程序员开发)
作用:接收请求、响应结果 相当于转发器
有了DispatcherServlet 就减少了其它组件之间的耦合度
2、处理器映射器HandlerMapping(不需要程序员开发)
作用:根据请求的URL来查找Handler
3、处理器适配器HandlerAdapter
作用:按照特定的规则(HandlerAdapter要求的规则)去执行Handler
注意:在编写Handler的时候要按照HandlerAdapter要求的规则去编写,这样适配器HandlerAdapter才可以正确的去执行Handler
4、处理器Handler(需要程序员开发)
5、视图解析器 View Resolver(不需要程序员开发)
作用:进行视图的解析 根据视图逻辑名解析成真正的视图(view)
6、视图View(需要程序员开发jsp)
View是一个接口, 它的实现类支持不同的视图类型(jsp,freemarker,pdf。。。)
七.什么是Spring beans?
Spring beans 是那些形成Spring应用的主干的java对象。它们被Spring IOC容器初始化,装配,和管理。这些beans通过容器中配置的元数据创建。比如,以XML文件中<bean/> 的形式定义。
八.什么是基于Java的Spring注解配置? 给一些注解的例子.
基于Java的配置,允许你在少量的Java注解的帮助下,进行你的大部分Spring配置而非通过XML文件。
以@Configuration 注解为例,它用来标记类可以当做一个bean的定义,被Spring IOC容器使用。另一个例子是@Bean注解,它表示此方法将要返回一个对象,作为一个bean注册进Spring应用上下文。
九.@Required 注解
这个注解表明bean的属性必须在配置的时候设置,通过一个bean定义的显式的属性值或通过自动装配,若@Required注解的bean属性未被设置,容器将抛出BeanInitializationException。
十.@Autowired 注解
@Autowired 注解提供了更细粒度的控制,包括在何处以及如何完成自动装配。它的用法和@Required一样,修饰setter方法、构造器、属性或者具有任意名称和/或多个参数的PN方法。