Spring整体介绍

Core Container(核心容器)

Spring本身提供了一个属于自己的容器,可以用来负责维持对象的状态(生成,存在形式,销毁),或者一个操作的切面。容器核心组件如下:

  • Beans:提供BeanFactory,是工厂模式的实现。Spring对所有Bean对象的管理,包含了对象间的关系配置以及一些对象实例化操作;
  • Core:提供了Spring框架的基本组成部分。eg:依赖注入(DI),资源文件的访问,数据类型的转换;
  • Context:提供对第三方库嵌入Spring应用的集成支持。提供一个完整的容器上下文,可以处理对象的生命周期/事务;
  • Expression Language:表达式语句组件;

切面编程

  • AOP:AOP(Aspect-Oriented Programming), 即 面向切面编程, 它与 OOP( Object-Oriented Programming, 面向对象编程) 相辅相成, 提供了与 OOP 不同的抽象软件结构的视角.在 OOP 中, 我们以类(class)作为我们的基本单元, 而 AOP 中的基本单元是 Aspect(切面)。Spring AOP提供了面向切面编程的实现,允许定义方法拦截器和切入点,将代码按照功能进行分离,以降低耦合性。
  • Aspect:提供了与AspectJ的集成功能,AspectJ是一个功能强大且成熟的面向切面编程框架,于此对应的还有ASM。

Data Access/Integration(数据访问/集成)

  • JDBC:提供了一个JDBC的抽象层,减少了开发过程中对数据库操作的编码。
  • ORM:对流行的对象关系映射API,包括JPA、JDO、IBaits和Hibernate提供了集成层支持。
  • OXM:提供了一个对象与XML文件之间的互相转换。
  • JMS:Java消息传递服务,包括使用和产生信息的特性,自4.1后与Spring-message模块集成。
  • Transactions:支持对实现特殊接口以及所有POJO类的编程和声明式的事务管理。

WEB

  • MVC:Spring提供了自己的MVC实现
  • Struts:Spring支持Struts2的管理
  • Servlet:包含了Spring的MVC和REST web Services实现。

Spring完全可以支持一个项目的独立开发,并且可以容纳其他框架同时存在的容器。

猜你喜欢

转载自blog.csdn.net/weixin_39443483/article/details/113872688