J2EE 小白理解IOC(控制反转)和AOP(面向切面)

最近在学SSM(SSH),勉强记住了有这两个词,然后大概会用。然后问题来了,Spring的IOC和AOP这东西用在哪里?

IOC 控制反转

这个东西在spring里其实主旨是用xml创造bean,个人观点,这个东西可用于各种框架配置和个人配置。
比如数据库配置:
这里写图片描述
以及各种shiro,主页文件夹,自定义配置。可能还有其他作用,但在spring里我理解的层面就是用了做配置文件用的。

AOP切面编程

切面简单就是以某个点为原点,确定做这件事前后该做点什么。
例子:https://www.cnblogs.com/Wolfmanlq/p/6036019.html
这个作者的理解就比较好。
个人理解了很久。。。认为主要为了两个目的提取公共部分和解耦。这两个目的至少要达到一个。
比如:我要在用户每次登陆后统计次数,和主程序无关,所以就单独放在切面里,这种属于解耦,本身和主程序无关。
比如:上述例子中的验证,这种是这几段代码的公共部分,使用AOP能有效减少代码量。
比如:记录捕捉异常,进行公共处理,这种和主程序没有直接关联。

个人认为,主体如果有很多分支,可能就不是很适合AOP了,比如登录,修改密码,退出登录,切换账号,本身需要数据层面的变化,但各自操作都不一样,这种用AOP反而混乱了,就不应该用。

刚刚学,不会用,记录一下,下一步就开始用了。

猜你喜欢

转载自blog.csdn.net/yu_duan_hun/article/details/81239310