1、IOC
spring最基础的是类容器,核心包括抽象工场(定义了不同类型的类,集合、继承、行为)、类关系描述和加载(BeanDefinition)。常用的具体的实现:ApplicationContext、XmlWebApplicationContext、ClasspathXmlApplicationContext;
2、AOP
JAVA动态代理:是面向接口的,代理对象的处理器需要实现InvocationHandler接口。核心通过放射机制加入额外代码;
cglib:是利用类的继承实现,需要因为cglib包
AOP(spring):
aspect:切面具体到某一方法,利用pointcut指定;
代理对象必须从spring容器中获取;
集成了java动态代理和cglib实现;
spring中必须启动动态代理配置<aop:aspectj-autoproxy/>
3、MVC
流程:dispatchServlet(List<HandlerMapping>,List<HandlerAdapter>)-->handlerMapping(HandlerExecutionChain)-->handlerAdapter(调用handle)-->View
HandlerMapping:处理URL到controller的映射,得到的handler对应@Controller标示的类
HandlerAdapter:基于handler获取相应的处理器(找到@requestMapping对应的方法),之后调用handle方法获取ModelAndView
View:利用ModelAndView渲染
原文:http://www.cnblogs.com/zh-sh/p/5078358.html