IOC和AOP DI
先去看DI帮忙,
DI 简单一点
比如我要写一银行的存款 写完后,发现每次的写的都是CRUD 于是感觉麻烦,封装一个类,专门的去写一个工具类
然后你的朋友帮忙,于是你们制定了一个接口;
但是随之而来的问题,每次在实现的时候都要new的对象,耦合度太大,也太浪费资源,于是你写了一个容器,把bean对象装在了里面,
这样不用每次都在去new,于是你写了一个xml去取这个容器里面的对象,但是有感觉太麻烦,自定义了一堆注解(awried),去注入到容器里面,
然后你有考虑到一写与业务逻辑关的代码,dao的每次都要连接数据库,但每次链接都很浪费资源,怎么办,自定义了一个工具类,
专门的去写一个连接数据库的工具类,但是当人多的情况下,又发现效率太慢,于是又写了一个容器,把那些无关了代码都扔到了一个容器里面,
但是怎么取,于是你想到之前javabean对象方法,但悲哀的发现那只是注入,于是写一个大的容器(单列模式),接着呢 有把之前的两个容器,放到了这个大容器,
通得到注入容器后,用JDK动态代理的方式去得到,于是,你发现在后来还是有时候效率高,有时低,于是便加入了日志什么的