1、spring 常用的注入方式有哪些
@Autowired构造方法、方法、接口
KEY | Value |
---|---|
构造器注入 | 通过将@Autowired注解放在构造器上来完成构造器注入,默认构造器参数通过类型自动装配 |
接口注入 | 通过将@Autowired注解放在构造器上来完成接口注入。 |
方法参数注入 | 通过将@Autowired注解放在方法上来完成方法参数注入。 |
2、spring 支持几种 bean 的作用域?
当通过spring容器创建一个Bean实例时,不仅可以完成Bean实例的实例化,还可以为Bean指定特定的作用域。Spring支持如下5种作用域:
key | value |
---|---|
singleton | 单例模式,在整个SpringIoC容器中,使用singleton定义的Bean将只有一个实例 |
prototype | 原型模式,每次通过容器的getBean方法获取prototype定义的Bean时,都将产生一个新的Bean实例 |
request | 对于每次HTTP请求,使用request定义的Bean都将产生一个新实例,即每次HTTP请求将会产生不同的Bean实例。只有在Web应用中使用Spring时,该作用域才有效 |
session | 对于每次HTTPSession,使用session定义的Bean豆浆产生一个新实例。同样只有在Web应用中使用Spring时,该作用域才有效 |
globalsession | 每个全局的HTTPSession,使用session定义的Bean都将产生一个新实例。典型情况下,仅在使用portletcontext的时候有效。同样只有在Web应用中使用Spring时,该作用域才有效 |
3、简单的谈一下SpringMVC的工作流程?
流程 1、用户发送请求至前端控制器DispatcherServlet
2、DispatcherServlet收到请求调用HandlerMapping处理器映射器。
3、处理器映射器找到具体的处理器,生成处理器对象及处理器拦截器(如果有则生成)一并返回给DispatcherServlet。
4、DispatcherServlet调用HandlerAdapter处理器适配器
5、HandlerAdapter经过适配调用具体的处理器(Controller,也叫后端控制器)。
6、Controller执行完成返回ModelAndView
7、HandlerAdapter将controller执行结果ModelAndView返回给DispatcherServlet 8、DispatcherServlet将ModelAndView传给ViewReslover视图解析器
9、ViewReslover解析后返回具体View
10、DispatcherServlet根据View进行渲染视图(即将模型数据填充至视图中)。
11、DispatcherServlet响应用户
4、SpringCloud五大核心组件
key | value |
---|---|
Netflix Eureka | 服务发现 |
Netflix Ribbon | 客服端负载均衡 |
Netflix Hystrix | 断路器 |
Netflix Zuul | 服务网关 |
Spring Cloud Config | 分布式配置 |