spring

1、spring的IOC与AOP的理解


控制反转(ioc):对象的创建与协调工作交给spring容器管理,当一个对象需要协助对象时,spring动态的通过依赖注入的方式提供协作对象
面向切面编程(aop):应用的业务逻辑与系统服务分开,日志记录

切面几种类型的通知:

前置通知(Before):目标方法被调用之前调用
后置通知(After):目标方法完成之后调用
返回通知(After-returning):目标方法成功执行之后调用
异常通知(After-throwing):目标方法抛出异常调用
环绕通知(Around):在通知的方法调用之前和调用之后执行的自定义行为

(1)、切面(aspect):类是对物体特征的抽象,切面就是对横切关注点的抽象
(2)、横切关注点:对哪些方法进行拦截,拦截后怎么处理,这些关注点称之为横切关注点。
(3)、连接点(joinpoint):拦截到的方法
(4)、切入点(pointcut):对连接点进行拦截的定义
(5)、通知(advice):所谓通知指的就是指拦截到连接点之后要执行的代码,通知分为前置、后置、异常、最终、环绕通知五类。 
(6)、目标对象:代理的目标对象
(7)、织入(weave):将切面应用到目标对象并导致代理对象创建的过程

2、拦截器与过滤器区别

过滤器通过实现Filter接口,拦截器通过实现HandlerInterceptor
(1).实现原理不同:过滤器基于函数回调,拦截器基于java反射机制(动态代理)实现的
(2).使用范围不同:过滤器要依赖Tomcat等容器,导致它只能在web程序中使用拦截器是spring组件,由spring容器管理,并不依赖Tomcat等容器,也可以单独使用,也可以用于Application
(3).触发机制不同:过滤器是在进入容器后,进入servlet之前进行预处理,请求结束在servlet处理完成以后拦截器是进入servlet之后,进入controller之前进行预处理,请求结束在Controller中渲染了对应的视图之后
(4).拦截的请求范围不同:过滤器对所有的请求起作用,拦截器对controller中的请求或static目录下的请求起作用

3、spring常用注解


@Controller 标记在类上,分发处理器将会扫描使用该注解的方法,并检测该方法是否使用requestMapping注解
@RestController 是@Controller与@ResponseBody的组合
@Component [kəm'pəʊnənt] 泛指组件,当组件不好归类的时候,使用这个注解进行标注
@Repository [rɪ'pɒzətri] 标注dao层
@Service 标注业务层
@ResponseBody 用于controller方法返回的对象,返回的不是html页面,而是json、xml格式的数据写入到Response对象的body区
@RequestMapping 请求地址映射的注解,放在方法上或类上
@Autowired 对类的成员变量、方法、构造函数进行标注
@PathVariable ['veriəbl]  接受url中的变量作为参数
@RequestParam 类似于request.getParameter("mane");获取参数
@RequestHeader 把request请求的Header部分的值绑定到方法的参数上
@Transaction 事务的注解

@Aspect 切面的注解

4、springmvc流程


(1) 客户端Http请求提交到 DispatcherServlet。
(2) 由 DispatcherServlet 控制器查询一个或多个 HandlerMapping,找到处理请求的Controller。
(3) DispatcherServlet 将请求提交到 Controller。
(4)(5)调用业务处理和返回结果:Controller 调用业务逻辑处理后,返回 ModelAndView。
(6)(7)处理视图映射并返回模型: DispatcherServlet 查询一个或多个 ViewResoler 视图解析器,找到 ModelAndView 指定的视图。
(8) Http 响应:视图负责将结果显示到客户端。

http请求提交到DispatcherServlet,DispatcherServlet查询HandlerMapping,HandlerMapping找到处理请求的Controller
DispatcherServlet将请求提交到Controller,Controller调用业务逻辑处理后返回ModelAndView,
DispatcherServlet查询ViewResoler 视图解析器,找到ModelAndView指定的视图

简单点就是:通过前端控制器把请求提交到controller,controller处理业务逻辑返回ModelAndView,通过视图解析器进行解析返回页面

5、spring

(1).IOC的注入方式?
构造器注入、setter注入
(2).spring几种配置方式?
基于xml、基于注解、基于Java
(3).事务的实现方式?
xml配置文件的方式、注解的方式(类上添加@Transaction)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值