Spring教程一 初探Spring
随着Struts、Hibernate、iBATIS框架应用的出现,使我们从繁琐的事务中解脱出来了,我们只需把焦点集中到业务的处理上,但是这些框架并不是万能的,他们对一些事务、安全、分布式的实现和处理也出现了很大的负担,而且层与层之间的耦合度也相对较大,比如Struts框架中的Action里处理业务,必须用New的方式初始化业务类,如果该业务类改变,我们就必须去修改原程序,这样给系统的维护和扩展都带来了很大的不便,因此Spring的出现则恰好解决了这一问题。
在传统的对象初始化中,最普遍的一种就是通过new的方式,然而这种方式虽然在效率上值得肯定,但在代码的扩展和维护上就不敢恭维,Spring的出现完全改变了这一传统的方式,他将对象的初始化交由IOC容器管理,当我们需要一个实例对象时从IOC容器里获得而不用在使用new的方式去初始化对象,创建对象的控制权从调用者转到了配置文件中,这样可以实现层与层之间的松耦合,有利于代码的维护或扩展。但是不管是什么系统或框架,抽象层次越高所带来的代价就是性能问题,由于IOC容器的核心是java反射去创建对象,这样也给系统带来了性能问题。
IOC的运作原理:
1.首先将配置文件读取到配置文件中;
2.根据配置文件中对对象的配置信息转化为Java对象;
3.把这些对象根据配置文件配置到各自的匹配对象中。
在我们的系统开发过程中,我们会有许多的业务对象去处理相应业务,然而这些业务对象本身出了拥有其核心的业务方法外可能还会有一些附加服务方法,比如一些日志、事务和安全处理等,这样业务对象就显得非常混乱,不利于我们维护工作,而Spring AOP的出现恰好解决了这一问题,它将核心业务代码从系统服务中分离开来,使我们专注于业务的实现,这样对象只完成它本身的实现而不用管与本身无关的服务。其实AOP不是Spring框架所特有的,AOP实际被看作为一种编程技术,用于提高业务的分离,Spring只是实现了AOP的部分功能。
分享到:
相关推荐
SpringCloud服务拆分初探与案例解析cloud-demo第一次 SpringCloud服务拆分初探与案例解析 cloud-demo第一次 SpringCloud服务拆分初探与案例解析 cloud-demo第一次 SpringCloud服务拆分初探与案例解析 cloud-demo第一...
Spring AOP(面向切面编程)是Spring框架中的一个重要组件,它允许我们在不修改源代码的情况下,对程序的行为进行统一的管理和控制。本篇文章将深入探讨Spring AOP的内部实现,以及如何通过源代码理解其DataSource...
**Spring Boot 初探:构建你的第一个应用** Spring Boot 是由 Pivotal 团队提供的全新框架,旨在简化 Spring 应用程序的初始搭建以及开发过程。它集成了大量常用的第三方库配置,如 JDBC、MongoDB、JPA、RabbitMQ、...
SpringMVC作为Spring框架的一部分,提供了强大的MVC设计模式实现,而MyBatis则是一个轻量级的SQL映射框架,简化了Java与数据库的交互。本文将深入探讨这两个框架的结合使用,以及在实际项目中的应用。 首先,让我们...
在这个“SpringCache缓存初探共5页.pdf.zip”压缩包中,很可能是对SpringCache的基础知识进行了简要介绍。虽然文件名暗示内容可能只有5页,但我们可以深入探讨SpringCache的一些核心概念和技术细节。 首先,Spring...
Spring是一个全面的开源应用框架,而MyBatis则是一个优秀的持久层框架。本篇文章将深入探讨这两个框架的基本概念、工作原理以及它们如何协同工作。 首先,Spring框架的核心特性包括依赖注入(Dependency Injection...
【初探微服务与Spring Boot】 微服务架构是一种软件开发方法,它将应用程序设计为一组小型、独立的服务,每个服务都专注于一个特定的业务功能,且可以独立部署、扩展和维护。这种架构模式有助于提高软件的可伸缩性...
标题中的“spring 初探”表明我们即将探讨的是Spring框架的基础知识。Spring是Java企业级应用开发中最常用的一个开源框架,由Rod Johnson发起,旨在简化应用程序的开发,提高组件之间的解耦。 首先,Spring框架的...
标题 "springmvc初探(annotation)" 暗示了我们将探讨Spring MVC框架的注解驱动编程。Spring MVC是Spring框架的一部分,专门用于构建Web应用程序。它提供了模型-视图-控制器(MVC)架构,使开发者可以更有效地组织和...
### Spring中文教程:深入理解与应用 #### 引言 Spring框架自2003年由Rod Johnson创立以来,迅速成为了Java开发领域中最受欢迎的企业级应用框架之一。它以简化企业级应用开发为目标,通过一系列核心模块如依赖注入...
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,主要用于构建 MVC(Model-View-Controller)模式的 Web 应用程序。在本篇文章中,我们将深入探讨如何使用 XML 配置来初始化和配置 ...
在本篇“MongoDB初探(二)----使用spring-data配置mongodb”中,我们将深入探讨如何利用Spring Data框架来集成和操作MongoDB数据库。Spring Data是Spring生态系统的一个重要组成部分,它提供了与各种数据存储系统...
标题中的“SpringMVC精品资源--个人博客,Spring Boot 开山之作”暗示了这是一个关于使用Spring MVC和Spring Boot开发个人博客系统的项目。Spring MVC是Spring框架的一个模块,专门用于构建Web应用程序,而Spring ...
关于mybatis的spring boot可执行代码,对应的解说博客地址在:https://blog.csdn.net/heidashou/article/details/105812796,含有全过程截图和解说。
本手册主要讲解 SpringBlade 的开发手册,包括环境要求、环境准备、基础环境安装、Nacos 安装、Sentinel 安装、Seata 安装、插件安装、工程导入、工程运行、工程测试、开发初探、新建微服务工程、第一个 API、鉴权 ...
- **开发初探**:通过一系列实例帮助用户理解SpringBlade的核心功能和使用方式,包括创建微服务工程、API开发等。 ##### 2. 微服务开发实践 - **第一个API**:以一个简单的示例来演示如何创建和使用API,包括API...
springsecurity1.2 引入SpringSecurity 2. 认证 ...2.2 原理初探 2.2.1 SpringSecurity完整流程 2.2.2 认证流程详解 2.3 解决问题 2.3.1 思路分析 2.3.2 准备工作 ... Spring Security 是 Spring 家族中的一
《Spring Framework 0.9.1:初探与解析》 Spring Framework,作为Java开发领域中的一个里程碑式框架,自其诞生以来就以其强大的企业级应用支持和灵活的编程模式深受开发者喜爱。本文将深入探讨Spring Framework ...
《SpringCloud实战:初探Eureka、Config、Zuul与Ribbon》 SpringCloud作为微服务架构的重要组件,为开发者提供了丰富的工具和框架来构建分布式系统。本篇将通过"spring-cloud-root.zip"这个Demo,深入探讨Spring ...