【spring】spring framework

发布时间 2023-05-26 15:25:15作者: xiaoyu_jane

用途

Spring Framework是一个开源的Java应用程序框架,用于构建企业级Java应用程序

特点:

  1. 轻量级、非侵入性的开发方式
  2. 面向对象的设计思想和松耦合的编程模型
  3. 核心技术为依赖注入(Dependency Injection)和面向切面编程(Aspect-Oriented Programming)
  4. 是一个模块化框架,如Spring Core、Spring AOP、Spring ORM、Spring JDBC等,可以根据需要选择适合的模块来构建应用程序,

核心特性

  • 依赖注入(Dependency Injection,DI):通过将对象的依赖关系交给容器管理,实现了对象之间的解耦。通过依赖注入,可以灵活地配置和组装应用程序中的对象。
  • 面向切面编程(Aspect-Oriented Programming,AOP):通过在应用程序中引入切面的概念,将与业务逻辑无关的横切关注点(如日志、事务管理等)与业务逻辑分离,提高了代码的模块性和可重用性。
  • 控制反转(Inversion of Control,IoC):IoC是Spring Framework的核心原则之一,通过容器来管理应用程序中的对象生命周期和依赖关系,将对象的创建、配置和组装的控制权反转给框架。
  • 面向接口编程(Interface-Oriented Programming):Spring Framework鼓励使用接口进行编程,通过接口定义和实现类解耦,提高了代码的可扩展性和可维护性。
  • 数据访问和集成:Spring Framework提供了对持久化数据访问的支持,包括对关系型数据库、NoSQL数据库和ORM框架的集成。它还提供了对消息队列、缓存、远程调用和Web服务等的集成。
  • MVC框架:Spring Framework提供了一个灵活的MVC框架(即Spring MVC),用于构建Web应用程序。它提供了对请求处理、视图解析、数据绑定和验证等的支持。

Spring MVC

提供了一种用于开发Web应用程序的模型-视图-控制器(Model-View-Controller,MVC)的架构模式。

  1. 目标: 简化Web应用程序的开发。提供一种结构清晰、灵活可扩展的开发模式。它通过将应用程序的不同层(模型、视图、控制器)解耦,使开发者能够更加专注于各自的职责。
  2. 结构:
  • 模型(Model)代表数据和业务逻辑
  • 视图(View)负责渲染模型数据的展示
  • 控制器(Controller)负责处理用户请求并调度适当的模型和视图。
  1. 主要特点:
  • 灵活的请求处理:Spring MVC提供了灵活的请求处理机制,可以根据URL、请求参数、HTTP方法等条件来映射到对应的控制器处理方法。
  • 松耦合的组件:Spring MVC采用松耦合的设计,可以方便地替换和组合不同的视图解析器、模型对象和控制器。
  • 强大的数据绑定和验证:Spring MVC提供了强大的数据绑定和验证机制,可以方便地将请求参数绑定到模型对象,并进行验证和转换。
  • 灵活的视图技术:Spring MVC支持多种视图技术,如JSP、Thymeleaf、Freemarker等,开发者可以根据需求选择适合的视图技术。
  • 内置的国际化支持:Spring MVC提供了内置的国际化支持,可以方便地实现多语言和区域性的应用程序。
  • 可扩展的拦截器机制:Spring MVC的拦截器机制可以用于实现日志记录、权限验证、请求预处理等功能,方便地扩展应用程序的功能。