请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

DI、AOP原理的相关问题

https://img1.sycdn.imooc.com//szimg/5aa3aa2b0001138a17180558.jpg

老师我想问下 关于Spring的di与AOP 最近感兴趣重新看了下我们代码 可不可以简单理解 像@autowired注解就相当于应用到了DI依赖注入的原理、而上面关于日志方面logger对象就是用到AOP切面编程相关的

正在回答

2回答

Geely 2018-03-11 15:51:54

你好,同学,简单理解是这样的,也就是说mapper对象在spring初始化的时候通过spring和mybatis的扫描方式已经注入到spring容器中,通过auto注解来拿到它~~这个就是一个依赖注入的实际case。

日志的话是可以使用aop的哟,非常好~~

咱们项目里的日志还没有使用aop,这个就是普通的一个日志。

1 回复 有任何疑惑可以回复我~
about_blank 2018-03-11 14:20:52

同学你好

aop 这种面向切面编程  用来做日志的收集和打印是一个很经典的使用场景 哈哈

还有对自定义注解的解析 和拦截权限 都是一些很常见的使用场景

关于autowired 就是依赖注入的使用

感兴趣可以了解下 @Resource 和autowired 的区别

关于logger

其实 spring mybatis logger 这些常见的框架 都是基于java 的一些高级特性和设计模式开发出的框架

这里基本都涉及到了使用 反射 动态代理 单例 切面 自定义注解 这些JAVA的高级特性

在学习了这些特性后 会发现源码有很多地方都有使用

logback 和log4j 提供了一个appender 接口

其本身也有一个类实现了这个接口 用来拦截获取日志

你也可以自定义实现该接口 对日志做自己想做的操作

比如做将信息 分类 存入ES mq消费等等 

加入监控 这些操作

这些感兴趣都可以搜一下资料

网上有很多

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信