首页 > 其他分享 >Spring 简介

Spring 简介

时间:2023-08-09 21:56:25浏览次数:46  
标签:Java Spring 使用 应用程序 Framework 简介 AOP

Spring是用于企业Java应用程序开发的最流行的应用程序开发框架。全球数百万开发人员使用Spring Framework创建高性能、易于测试和可重用的代码。

Spring Framework是一个开源的Java平台。它最初由Rod Johnson编写,并于2003年6月在Apache 2.0许可下首次发布。

Spring在大小和透明度方面都非常轻巧。Spring Framework的基本版本大小约为2MB。

Spring Framework的核心功能可用于开发任何Java应用程序,但是还有用于在Java EE平台上构建Web应用程序的扩展。Spring Framework旨在通过启用基于POJO的编程模型来使J2EE开发更易于使用,并促进良好的编程实践。

使用Spring Framework的好处

以下是使用Spring Framework的几个重要好处的列表:

  • Spring使开发人员能够使用POJO开发企业级应用程序。仅使用POJO的好处在于,您不需要EJB容器产品,例如应用程序服务器,但您可以选择仅使用强大的servlet容器,例如Tomcat或某些商业产品。
  • Spring以模块化的方式组织。尽管软件包和类的数量很多,但您只需担心您需要的部分并忽略其余部分。
  • Spring不会重复发明轮子,而是真正利用了一些现有技术,例如多个ORM框架、日志框架、JEE、Quartz和JDK定时器以及其他视图技术。
  • 使用Spring编写的应用程序易于测试,因为环境相关的代码移动到了该框架中。此外,通过使用类似JavaBean的POJO,更容易使用依赖注入来注入测试数据。
  • Spring的Web框架是一个设计良好的Web MVC框架,它提供了一个很好的替代方案,可以替代Struts或其他过度设计或不受欢迎的Web框架。
  • Spring提供了一种方便的API,用于将特定于技术的异常(例如由JDBC、Hibernate或JDO引发的异常)转换为一致的未经检查的异常。
  • 轻量级IoC容器往往非常轻量级,特别是与EJB容器相比。这对于在内存和CPU资源受限的计算机上开发和部署应用程序非常有益。
  • Spring提供了一致的事务管理接口,可缩小到本地事务(例如使用单个数据库)并扩展到全局事务(例如使用JTA)。

依赖注入(DI)

Spring最为人所知的技术是依赖注入(DI)的Inversion of Control(IoC)风格。IoC是一个通用概念,可以用许多不同的方式表达。依赖注入仅是控制反转的一个具体示例。

在编写复杂的Java应用程序时,应用程序类应尽可能独立于其他Java类,以增加重用这些类的可能性并在单元测试时独立于其他类进行测试。依赖注入有助于将这些类粘合在一起,同时保持它们的独立性。

依赖注入可以通过向构造函数传递参数或通过后期构造使用setter方法来实现。由于依赖注入是Spring Framework的核心,因此我们将在单独的章节中使用相关示例解释此概念。

面向切面编程(AOP)

Spring的关键组件之一是面向切面编程(AOP)框架。跨越应用程序多个点的功能称为横切关注点,这些横切关注点在概念上与应用程序的业务逻辑分开。有各种各样的常见优秀例子,包括日志记录、声明性事务、安全性、缓存等。

OOP中的模块化关键单元是类,而AOP中的模块化关键单元是方面。 DI可帮助您将应用程序对象解耦,而AOP可帮助您将横切关注点解耦。

Spring Framework的AOP模块提供了一种面向方面的编程实现,允许您定义方法拦截器和切入点,以清晰地解耦实现应该分开的功能的代码。我们将在单独的章节中讨论更多有关Spring AOP概念的内容。

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号搜索Let us Coding知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

标签:Java,Spring,使用,应用程序,Framework,简介,AOP
From: https://www.cnblogs.com/xiaowange/p/17618084.html

相关文章

  • 扩展SpringMVC框架的消息转化器
    1、消息转化器请求和响应都有对应的body,而这个body就是需要关注的主要数据。请求体与请求的查询参数或者表单参数是不同的,请求体的表述一般就是一段字符串,而查询参数可以看作url的一部分,这两个是位于请求报文的不同地方。表单参数可以按照一定格式放在请求体中,也可以放在url上......
  • Spring Boot 链路追踪 SkyWalking 入门
    1.添加SkyWalking依赖:打开您的SpringBoot项目的pom.xml文件,并在<dependencies>标签中添加以下依赖:xml<dependency><groupId>org.apache.skywalking</groupId><artifactId>apm-toolkit-trace</artifactId><version>8.0.0</ver......
  • Linux系统简介
    程序员必备的技能:一门编程语言:C语言、C++数据结构与算法:表、树、图、查找、排序、STL操作系统:Linux操作系统网络通信:TCP\IP协议簇(Socket套接字技术、TCP、UDP、FTP、HTTP等协议)数据库:MySQL界面设计:Qt操作系统课程内容:系统介绍、内存管理、文件管理、信号处理、进程管理......
  • SpringMVC支持跨域访问详解
    跨站HTTP请求(Cross-siteHTTPrequest)是指发起请求的资源所在域不同于该请求所指向资源所在的域的HTTP请求。这里有域名的不同,端口号的不同。很多浏览器在发起跨域访问时是会询问用户是否需要发送该请求,或者干脆不发送跨域访问请求。(最好的办法是不使用ajax之类的,不要在前端......
  • yum仓库简介与搭建
    yum仓库简介1.1yum简介yum是一个基于RPM包(是Red-HatPackageManager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。解决了日常工作中的大量查找安装依赖包的时间。为什么会有依赖关系的发生因为linux本身就是以系统简洁为自身优势,所以在安装......
  • SpringBoot启动项目失败但不报错
    新建的SpringBoot项目,点击启动,项目没有启动成功,但是不报错。如下:._________/\\/___'_____(_)______\\\\(()\___|'_|'_||'_\/_`|\\\\\\/___)||_)|||||||(_||))))'|____......
  • 【Spring | 事件监听详解】
    上篇Spring事件监听概述对Spring事件监听的机制有了个基本的了解。本篇来详细的解读下Spring的事件监听机制。(事件监听详解)ApplicationEvent  ApplicationEvent最重要的子类是ApplicationContextEvent抽象类,ApplicationContextEvent是spring容器Context生命周期......
  • SpringBoot源码实用场景:SpringBoot 3.1.0 环境下 PageHelper 1.4.0不生效问题排查
    1、技术栈:JDK17+SpringBoot3.1.0+PageHelper1.4.01<?xmlversion="1.0"encoding="UTF-8"?>2<project...>3<parent>4<groupId>org.springframework.boot</groupId>5<arti......
  • Spring Secriuty登录失败错误状态999重定向302
    原因是login.html登录页面有不能加载的静态资源,找出来去掉就好了,比如bootstrap.min.css环境使用SpringBootSecurity3做一个登录功能,使用了一个教程提供的HTML登录页面,代码如下SpringSecurity配置,自定义了登录页,资源都做了放行,能正常加载,使用数据库认证,正常查出@Configu......
  • 智慧工地源码,基于Vue+Spring Cloud +UniApp框架开发
    源码技术架构:微服务+JavaVue+SpringCloud+UniApp+MySql智慧工地管理平台是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。智慧工地管理平台功能包括:劳务实名制管理系统、监测系统、区域安......