-
采用记日志的方式打印的好处:能够显示(时间 INFO 进程号 【nio-端口-exec-1】 哪个方法哪个包下打的日志)
查看全部 -
实际逻辑代码部分:
@After注解:注解括号里面的内容可以和Before注解写得一模一样
这里发现我们会有重复的代码(坏处:1太low,2修改起来会特别麻烦),解决方案:用@Printcut注解单独对相同部分定义一个方法,然后使用这个方法名作为代替放入Before和After注解里面
System.out.println的另一种方式,Logger
在类内部声明Logger(org.slf4j: spring自带的日志框架,底层实现使用的是logback)
在方法里面使用logger.info或者logger.error打印
查看全部 -
正式逻辑代码:
Http请求到这些api的时候就把这些记录下来:@Before注解表示在方法执行之前就执行这个方法(记得有个小技巧,先写下下面的public void log(){}代码框架,这样才会有上层的Before的内容提示)
拦截方法时,在方法的参数里面加..表示不管里面什么参数,都会进行拦截
如果要对所有的方法都进行拦截,就写成controller.*(..)
查看全部 -
防止没有登录的用户对api进行调用成功
(通常方法是在每个api前面进行添加判断,这样每个api都加太累了)
使用AOP来进行的步骤:
添加依赖:spring-boot-starter-aop
(往常的做法是要在启动类加一个注解,但是aop不需要加)
建立处理文件:新建一个包叫aspect,然后在底下建一个java class(不要选aspect)叫HttpAspect,加上注解@Aspect和@Component,然后开始写逻辑代码
查看全部 -
构造方法的解决方案来进行控制是否登录的用户才可以访问api的方式行不通:当spring程序运行的时候就会把这些类给实力化了,当一次http请求来的时候不会再执行这个构造方法了,所以这样是行不通的。
查看全部 -
事务只会对RuntimeException 进行事务回滚,不会对Exception进行回滚。
查看全部 -
AOP的例子
查看全部 -
AOP: 面向对象的庞大体系进行横切,并且将影响到多个类的公共行为进行封装成一个可重用的模块(切面)。
关键思想:将通用的逻辑,从业务逻辑中分离出来
查看全部 -
面向过程和面向对象的区别
查看全部 -
POP: c语言就是面向过程的
查看全部 -
aop关键思想
查看全部 -
程序设计思想
查看全部 -
MAC git方法
查看全部 -
限制的方式
类里面要对变量进行@Min的注解限制
controller的传参对象前面要加一个@Valid注解,表明要验证的是这个对象,同时传参后边加一个BindingResult对象用来存储验证的结果用以在方法内进行判断
查看全部 -
如果传参太多,可以改成直接传一个对象就可以了
查看全部
举报