深圳手机网站建设牛商网,南宁网站seo优化公司,网站编写流程,辽阳做网站一、如何定义一个MethodHandler?
1.Controller注解修饰的类 1.注册成Spring Bean 2.表示它是一个SpringMVC下的Controller
2.在这个类下的方法中#xff0c;只要被RequestMapping修饰方法的形参符合规定#xff08;需要看文档#xff09; 方法的返回值符合规定…一、如何定义一个MethodHandler?
1.Controller注解修饰的类 1.注册成Spring Bean 2.表示它是一个SpringMVC下的Controller
2.在这个类下的方法中只要被RequestMapping修饰方法的形参符合规定需要看文档 方法的返回值符合规定 需要看文档
1.不用在意方法的名字
2.不用在意方法的返回值签名 RequestMapping(value path) RequestMapping(path)
变形如下
RequestMapping(value path, method GET/POST)
GetMapping / PostMapping
RequestMapping修饰类直接给这个类的所有方法前面添加统一的URL path前缀 支持的方法形参
1.原生的Servlet模式
void...(HttpServletRequest req, HttpServletResponse resp);
2.RequestParam(...)注解修饰的 请求参数 修饰形参时RequestParam可以省略表示形参的值来自请求参数 默认情况下String也可以使用其他基本类型替换
3.HttpSession 二、什么是UUID
UUID是通用唯一识别码的缩写是一种软件建构的标准。目的是让分布式系统中的所有元素都能有唯一的辨识信息不需要中央控制器来做辨识信息的指定。每个人都可以创建与其他人不冲突的UUID就不需要考虑数据库创建时的名称重复问题。
比如临时文件的文件名就是UUID形成的。 三、redirect 和 forward有啥区别
重定向买《暗杀》老师告诉你应该买《活着》又去买《活着》了 有两次HTTP请求
转发买《暗杀》老师找了一本《活着》换成《暗杀》的名字给你 只有一次HTTP请求
MVC能工作的前提引入thymeleaf依赖
如果不引入返回的所有view-name都被视为forward 四、AOP
AOP:并不是spring独有的功能只是一种理念。
AOP——靠对象代理完成
对象代理能力AOP、Mybatis
JDK原生提供的对象代理能力只能作用到接口上必须要有一个接口限制比较大所以由第三方库CHLib,专门去做对象代理功能更强大
从代码组织的角度这种代码的组织方式有缺点如果公共部分要重构则需要调整一堆源码文件。改动越多出错的风险越大
使用Spring中AOP。Spring并没有支持所有的概念是AOP的概念。
1.要使用AOP需要修改依赖关系 2.如何定义一个切面
1.首先把类注册到springComponent
2.需要声明这个类是一个 切面类
如果导入的时候没有Aspect 注解说明你忘记更改pom.xml中的spring-boot-starter-aopAspect
//这样就定义了一个切面出来public class MyAspect { 对象代理使用Proxy对象替代Target对象
调用的时候优先把控制权交给Proxy去处理
配合IOC功能更强大了。
功能上实现AOP ybatis原理
AOP是面向切面编程。切面、切点、通知编织、连接点...
编织 JDK原生 / CGLib
使用Aspect Component定义切面类 Pointcut(...) 定义切点表现在Spring中是一个方法体方法体是空的 表达式: execution(...) annotation(...)
通过Before、AfterThrowing、Around定义通知Advice)
AOP能生效原理就是对象代理在起作用。 切面、切点、通知缺一不可 不能通过this调用