Spring源码分析(一) 结构组成

Spring源码主要的包为:

  1. bean:主要包含bean的定义,读取代码配置的bean,储存bean的工厂beanFactory,实例化bean,为bean注入属性的一些接口。具体为BeanDefinition,XmlBeanDefinitionReader,DefaultListableBeanFactory,BeanUtils,BeanWrapperImpl
  2. core:主要包含一些核心的工具类,Spring的其他组件都要使用到这个包里的类。主要有一些反射方法的工具类,代理类等其他一些类
  3. context: 主要是基于bean和core模块基础之上,进行了一次封装和一些扩展,包括国际化资源支持,jmx,schedul,ejb等j2ee的特性的支持
  4. aop:即面向切面编程,是基于aspectj的一个面向切面编程的实现。定义了方法拦截器和切点。主要的一个类是AnnotationAwareAspectJAutoProxyCreator,这个类是这个标签的解析类,可以开启spring的aop注解,通过扫描bean根据注解生成代理类实现面向切面编程,主要继承了BeanFactoryAware,用于传递beanfactory和BeanPostProcessor,用于拦截bean的实例化
  5. web:http协议的包。定义了和http容器有关的一些实体类,例如ServletServerHttpRequest,ServletServerHttpResponse等用来解析http数据,还有对web service的支持
  6. webmvc:spring的web开发的主要包。主要的一个类是DispatcherServlet,负责对http请求进行分发处理,其中关键的两个成员变量是HandlerMapping和HandlerAdapter,HandlerMapping 负责映射url,HandlerAdapter负责处理请求。resources文件夹下有一个配置文件DispatcherServlet.properties,配置了一些默认的属性。还有一个是ClassPathXmlApplicationContext,包含了一些上下文信息,还有渲染视图的一些view。
  7. jdbc:封装了对数据库的一些操作,数据源的定义.
    原文作者:Spring MVC
    原文地址: https://blog.csdn.net/qq_14957991/article/details/83718105
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞