`
superbo8888
  • 浏览: 51220 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring之概念入门

阅读更多

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,好好理解吧,那可是个漫长的思想体验过程!祝君好运!

 

 

 

 

 

 

 

 

 

分享到:
评论
15 楼 Emy 2008-04-20  
没看懂,我的错~!
14 楼 xuchuizi 2008-04-20  
杨老~~经典!!
13 楼 james.zhou 2008-03-27  
讲的很通俗易懂
12 楼 yelr_j 2008-03-27  
杨老,写的不错哦。让我有了新的体验。
当初为何不是你来教我们的J2EE呢。
11 楼 大老鼠上的小草原 2007-07-26  
写的很好啊 让我理解了很多 以前模糊的东东
10 楼 ricsson 2007-07-24  
随便google一个示例代码Run,一下一切都明白了!
9 楼 zhangcaijing 2007-07-23  
老大,永远地支持你,一定要坚持写哦,时刻顶起....
8 楼 iorim4 2007-07-12  
spring的精髓就是Aop
7 楼 hiavj 2007-07-08  
刚接触AOP感觉好难啊!
6 楼 bruce198 2007-06-19  
楼主写的不错,通俗易懂。
5 楼 rzxtjydjb 2007-06-05  
慢慢来啃吧
4 楼 iorim4 2007-06-05  
那我坐哪儿?我日
3 楼 lrz0534 2007-06-05  
地板我也要了
2 楼 lrz0534 2007-06-05  
顺便板凳也坐了
1 楼 lrz0534 2007-06-05  
哈哈 我来个沙发

相关推荐

    IDEA中使用Spring的简单入门(加小案例)

    在本文中,我们将深入探讨如何在IntelliJ IDEA(IDEA)中使用Spring框架进行简单的入门。Spring是一个广泛使用的开源Java框架,它为构建企业级应用程序提供了强大的支持,包括依赖注入、面向切面编程(AOP)、事务...

    Spring从入门到精通 源码

     全书共分14章,内容涵盖了Spring的基础概念、核心容器、Spring AOP、事务处理、持久层封装、Web框架、定时器、Spring和Struts、Spring和Hibernate、Spring和Ant、Spring和Junit。本书适用于...

    spring shiro整合入门

    Spring框架作为Java领域最流行的框架之一,提供了丰富的功能,而Apache Shiro则是一款强大的安全管理框架,专注于身份验证、授权和会话管理。将Spring与Shiro进行整合,可以构建出高效且灵活的安全管理体系。本文将...

    SpringData入门到精通

    本教程“SpringData入门到精通”将引领你逐步深入SpringData的世界,从基础概念到高级用法,再到源码剖析,让你全面掌握这一强大的数据访问工具。 首先,SpringData的核心理念是通过提供统一的API,简化数据访问...

    Spring初学者入门教程 PDF带书签高清版

    Spring框架是Java开发中最受欢迎的轻量级框架之一,它为构建企业级应用程序提供了全面的解决方案。本教程针对初学者,旨在帮助他们快速掌握Spring框架的基础知识和核心概念。 Spring框架的核心特性包括依赖注入...

    SpringBatch学习入门

    在本文中,我们将深入探讨SpringBatch的学习入门,以及如何在IDEA环境中进行配置和实践。 首先,我们需要了解SpringBatch的核心概念: 1. **Job**:是SpringBatch中的最高级别抽象,代表一个完整的批处理任务,...

    spring源码从入门到放弃

    6. **依赖注入(DI)**:Spring的核心特性之一,通过DI管理对象之间的关系,降低耦合度。源码中可以深入理解IoC容器如何实现DI。 7. **AOP(面向切面编程)**:Spring的AOP模块用于实现横切关注点,如日志、事务...

    Spring Web MVC入门教程

    文件上传和下载功能是Web应用中常见的需求之一,Spring Web MVC通过MultipartResolver组件提供了对文件上传的支持。对于表单标签的支持,Spring Web MVC不仅简化了传统JSP标签的使用,还扩展了表单相关的处理能力。 ...

    Spring从入门到精通

    《Spring从入门到精通》是一本全面覆盖Spring框架核心概念和技术的教程,旨在帮助初学者快速掌握Spring,并进一步提升有经验的开发者对Spring的理解。在Java企业级开发中,Spring框架以其灵活、强大的功能和易用性,...

    Spring从入门到精通(珍藏版)

     全书共分14章,内容涵盖了Spring的基础概念、核心容器、Spring AOP、事务处理、持久层封装、Web框架、定时器、Spring和Struts、S pring和Hibernate、Spring和Ant、Spring和Junit。本书适用于初、中级软件开发人员...

    spring mvc经典入门案例

    这个经典入门案例将引导你逐步了解并掌握 Spring MVC 的基本概念、配置以及实际应用。 1. **Spring MVC 概述** Spring MVC 是一个模型-视图-控制器(MVC)架构模式的实现,它简化了Java Web 应用的开发,提供了一...

    spring入门代码项目

    本项目旨在帮助初学者快速入门Spring,通过实际的代码操作来理解和掌握Spring的核心概念与用法。以下是对每个子文件夹的详细解释: 1. **Spring-01-HelloWorld** 这个部分是Spring入门的基础,它涵盖了如何创建第...

    spring MVC_快速入门

    在快速入门的过程中,了解其核心概念和基本使用方法是至关重要的。 1. **Spring MVC架构** Spring MVC通过分离关注点,将业务逻辑、数据处理和用户界面解耦。Controller接收HTTP请求,调用Service层处理业务,...

    spring bean XML配置入门

    在本文中,我们将深入探讨Spring框架中的Bean XML配置,这是Spring的核心特性之一,它允许我们定义、管理和装配应用中的对象。我们将围绕以下知识点展开: 1. **Spring框架基础**: Spring是一个开源的Java平台,...

    一本很不错的关于spring入门的书籍

    这本书籍“一本很不错的关于spring入门的书籍”显然是针对初学者设计的,旨在帮助新手快速掌握Spring的基本概念和核心功能。 Spring框架的核心特性包括: 1. **依赖注入(Dependency Injection,简称DI)**:这是...

    springsecurity入门实例

    **一、Spring Security 基础概念** 1. **访问控制**:Spring Security 提供了基于角色的访问控制(RBAC),允许开发者定义哪些用户或角色可以访问哪些资源。 2. **身份验证**:Spring Security 提供了多种身份验证...

    Spring Cloud Alibaba 从入门到精通1

    【Spring Cloud Alibaba 从入门到精通1】 Spring Cloud Alibaba 是一套基于阿里巴巴集团内部中间件实践经验,为Java开发者提供的微服务解决方案。它旨在简化云原生应用的开发过程,尤其是在Spring Cloud生态中,...

    spring的入门程序示例

    本示例旨在引导初学者入门Spring框架,通过一个简单的应用实例来理解其核心概念。 Spring框架的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。依赖注入...

    Eclipse_Spring_入门书籍

    《Eclipse_Spring_入门书籍》是一本专为初学者设计的指南,旨在帮助读者快速掌握Eclipse集成环境下的Spring框架应用开发。Spring是Java领域中最流行的应用框架之一,它以其依赖注入(Dependency Injection,DI)和...

Global site tag (gtag.js) - Google Analytics