一、SpringMVC整体结构
下面是SpirngMVC核心Servlet的继承结构图
Servlet的继承结构一共有五个类,GenericServelt,HttpServlet,这两个类的介绍:传送门,剩下三个类HttpServletBean,FrameworkServlet,和DispatcherServlet是SpringMVC框架的类。
Aware的介绍
Aware这个接口里面没有内容,XXXAware在Spring里标识对XXX可以感知。容器管理的Bean一般不需要了解容器的状态和直接使用容器,但是在某些情况下,是需要在Bean中直接对IOC容器进行操作的,这时候,就需要在Bean中设定对容器的感知。Spring IOC容器也提供了该功能,它是通过特定的Aware接口来完成的。
通俗的解释就是:如果在某个类里面想要使用Spring的内容,就可以实现XXXAware接口告诉Spring,Spring看到后就给你送过来,而接受的方式是通过实现唯一的方法setXXX。当然实现XXXAware接口的类需要交给Spring管理。
看下面代码
@Component public class AppTest implements ApplicationContextAware,EnvironmentAware { public void setApplicationContext(ApplicationContext applicationContext) throws BeansException { //实现了这个方法Spring会把applicationContext对象传进来 System.out.println(applicationContext); } public void setEnvironment(Environment environment) {
//实现了这个方法Spring会把Environment对象传进来
System.out.println(environment);}}