依赖注入:不要你来找我,我回去找你。
工厂模式:专门负责对有大量共同接口的类进行实例化。工厂模式可以动态决定应该将哪一个类实例化,而无需事先知道每次要实例化哪一个类。
实例:装配汽车,不用new一个一个抽调new对象,只需在装配容器(工厂)里面抽调汽车就可以了。
DI(依赖注入):就是将对象之间合作的任务从对象本身抽调出来,由Spring框架来负责
IOC(控制反转):由容器来控制程序之间的关系,而不是由程序代码直接控制。(因为控制权从应用程序代码转移到容器中,所以称为反转)
依赖注入三种方式:
1) 设值注入:通过调用无参构造器或者无参的工厂方法实例化bean之后,调用bean的setter方法,可实现基于setter的依赖注入
2) 构造方法注入:
3) 接口注入:
SpringMVC基本思想(机制)
客户端向Spring容器发起一个HTTP请求,
发起的请求被分发器(DispatchServlet)所拦截,
分发器根据映射的(Handler Mapping)决定请求发送给哪一个控制器
选定控制器之后,分发器就把请求发送给他,
在选定控制器中处理请求,并以属性值和jsp[返回的页面](ModelAndView)返回到分化器DispatchServlet
找到正确的逻辑视图,将视图返回给客户端,否则会抛出异常
客户端--->Http->分发器—根据Handler Mapping---发请求