Spring是什么
spring是一个开源的java框架,集成了各种主流的技术包括web mvc,orm,ejb,rmi,javamail等
他就象一个粘合济,在实际项目中,将前后台程序粘合在一起,构建出一个完整的系统。
spring中的各个组件也可独立使用,你可以在你的项目中选择性的使用spring提供的某一部分功能
Spring的核心是ioc和aop
什么是IOC
Inversion of Control,控制反转或反转控制,其和另外一个概念DI-Dependency Injection依赖注入
等价。
到底如何来理解IOC?
IOC确切的说,他是一种思想、概念,跟OOP是一种编程思想一样,他是在大量的项目实践中总结出来了
的一种精妙地程序设计思想。在原先的程序设计中,我们通常是通过new XXX(),其中,XXX就是某个类
的名称,在没有ioc思想引入时,我们程序中大量充斥着new XXX()这样的代码。这些代码都需要我们程
序员手工编写。而引入了ioc思想之后,对象的管理全部交给Spring这个容器来管理,当我们程序需要
对应类的对象时,我们直接从Spring容器里面获取,换句话说,就是Spring容器把产生好的对象交给了
我们的程序,这种方式就叫做注入(就跟医生拿着可怕的针管将液体注入到我们的屁股上一样,为什么
要注入,还不是你的屁股需要嘛!因为你需要,所以我给你,这就是DI)
而IOC的深层含义就是,将原先对象产生的主动权交给了Spring容器,由Spring容器来为我们完成对象的
new的过程,并将对象在我们需要时交给我们。
Spring正是IOC思想的一个完美产物和实践者!
什么是aop
Aspect Oriented Programming,面向方面编程,它也是一种编程思想,它是对OOP编程思想的一种升华
OOP强调的是对象,而aop强调的是面(不是饺子)
那么,什么是面?
如果拿我们的教室做比方,那么教室的前门和后窗就是一个面,一个截面,通过这样的截面,将我们这块
空间分成了室内、窗外和门外三部分。
如果拿我们吃的汉堡做比方,那么汉堡的夹心的前后就是一个面,一个截面,通过这样的截面,将我们的
普通面包分成了面包上层、夹心、面包下层。
如果。。。
还是拿我们的程序代码来说,
如果我们的dao用jdbc实现,那么在dao的每一个方法里都充斥着这样的代码,
打开连接
执行sql语句
关闭连接
那么,这时,我们就可以在执行sql前后做出一个截面,通过这样的截面,将我们的程序代码分开,将打开
连接和关闭连接交给AOP去做,我们程序员只关注执行不同sql语句部分,避免了在dao的每个方法中都要编
写重复的打开连接和关闭连接代码。
如果我们的dao用hibernate实现,那么在dao的每一个方法里都充斥着这样的代码
打开session
执行session动作
关闭session
同理,我们就可以在执行session动作前后做出一个截面,通过这样的截面,将我们的程序代码分开,将打开
session和关闭session交给AOP去做,我们程序员只关注执行session动作,避免了代码的重复岂不更好
这就是AOP,好好理解吧,那可是个漫长的思想体验过程!祝君好运!
分享到:
相关推荐
在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...
全书共分14章,内容涵盖了Spring的基础概念、核心容器、Spring AOP、事务处理、持久层封装、Web框架、定时器、Spring和Struts、Spring和Hibernate、Spring和Ant、Spring和Junit。本书适用于...
Spring框架作为Java领域最流行的框架之一,提供了丰富的功能,而Apache Shiro则是一款强大的安全管理框架,专注于身份验证、授权和会话管理。将Spring与Shiro进行整合,可以构建出高效且灵活的安全管理体系。本文将...
本教程“SpringData入门到精通”将引领你逐步深入SpringData的世界,从基础概念到高级用法,再到源码剖析,让你全面掌握这一强大的数据访问工具。 首先,SpringData的核心理念是通过提供统一的API,简化数据访问...
Spring框架是Java开发中最受欢迎的轻量级框架之一,它为构建企业级应用程序提供了全面的解决方案。本教程针对初学者,旨在帮助他们快速掌握Spring框架的基础知识和核心概念。 Spring框架的核心特性包括依赖注入...
在本文中,我们将深入探讨SpringBatch的学习入门,以及如何在IDEA环境中进行配置和实践。 首先,我们需要了解SpringBatch的核心概念: 1. **Job**:是SpringBatch中的最高级别抽象,代表一个完整的批处理任务,...
6. **依赖注入(DI)**:Spring的核心特性之一,通过DI管理对象之间的关系,降低耦合度。源码中可以深入理解IoC容器如何实现DI。 7. **AOP(面向切面编程)**:Spring的AOP模块用于实现横切关注点,如日志、事务...
全书共分14章,内容涵盖了Spring的基础概念、核心容器、Spring AOP、事务处理、持久层封装、Web框架、定时器、Spring和Struts、S pring和Hibernate、Spring和Ant、Spring和Junit。本书适用于初、中级软件开发人员...
文件上传和下载功能是Web应用中常见的需求之一,Spring Web MVC通过MultipartResolver组件提供了对文件上传的支持。对于表单标签的支持,Spring Web MVC不仅简化了传统JSP标签的使用,还扩展了表单相关的处理能力。 ...
《Spring从入门到精通》是一本全面覆盖Spring框架核心概念和技术的教程,旨在帮助初学者快速掌握Spring,并进一步提升有经验的开发者对Spring的理解。在Java企业级开发中,Spring框架以其灵活、强大的功能和易用性,...
这个经典入门案例将引导你逐步了解并掌握 Spring MVC 的基本概念、配置以及实际应用。 1. **Spring MVC 概述** Spring MVC 是一个模型-视图-控制器(MVC)架构模式的实现,它简化了Java Web 应用的开发,提供了一...
本项目旨在帮助初学者快速入门Spring,通过实际的代码操作来理解和掌握Spring的核心概念与用法。以下是对每个子文件夹的详细解释: 1. **Spring-01-HelloWorld** 这个部分是Spring入门的基础,它涵盖了如何创建第...
在快速入门的过程中,了解其核心概念和基本使用方法是至关重要的。 1. **Spring MVC架构** Spring MVC通过分离关注点,将业务逻辑、数据处理和用户界面解耦。Controller接收HTTP请求,调用Service层处理业务,...
在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...
这本书籍“一本很不错的关于spring入门的书籍”显然是针对初学者设计的,旨在帮助新手快速掌握Spring的基本概念和核心功能。 Spring框架的核心特性包括: 1. **依赖注入(Dependency Injection,简称DI)**:这是...
**一、Spring Security 基础概念** 1. **访问控制**:Spring Security 提供了基于角色的访问控制(RBAC),允许开发者定义哪些用户或角色可以访问哪些资源。 2. **身份验证**:Spring Security 提供了多种身份验证...
【Spring Cloud Alibaba 从入门到精通1】 Spring Cloud Alibaba 是一套基于阿里巴巴集团内部中间件实践经验,为Java开发者提供的微服务解决方案。它旨在简化云原生应用的开发过程,尤其是在Spring Cloud生态中,...
本示例旨在引导初学者入门Spring框架,通过一个简单的应用实例来理解其核心概念。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。依赖注入...
《Eclipse_Spring_入门书籍》是一本专为初学者设计的指南,旨在帮助读者快速掌握Eclipse集成环境下的Spring框架应用开发。Spring是Java领域中最流行的应用框架之一,它以其依赖注入(Dependency Injection,DI)和...