spring 零基础(我的Spring学习笔记只此一份)

一、Spring简介

Spring框架是由于软件开发的复杂性而创建的。Spring使用的是基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅仅限于服务器端的开发。从简单性、可测试性和松耦合性角度而言,绝大部分Java应用都可以从Spring中受益。

◆目的:解决企业应用开发的复杂性

◆功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能

◆范围:任何Java应用

Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。

以上是引用自百度百科, 按照我的看法的话,Spring是目前Java应用最广泛的框架,这个框架的理念是他流行起来的关键因素,

主要理念为两个:

  1. IOC(Inversion of Control,控制反转)
  2. AOP(Aspect Oriented Programming,面向切面编程)。

核心也是以上两点;

1、Spring中常用术语
  1. 框架:就是别人之前写好的东西,你可以直接拿过来用,框架都可以帮你实现一些基本的功能,可以简化你的代码,避免了很多重复无聊的代码编辑,总之就是个很好的工具,引用牛顿老师的话就是:站在巨人的肩膀上写代码;
  2. 容器:在生活中容器很好理解,就是一种盛放东西的器具,所以在你写代码的时候遇到的容器也是存放东西的,只是存放的是对象而已,你可以从中拿取或者存放一个对象,同时容器还可以管理对象的生命周期。
2、Spring的优势
  1. 控制反转的作用巨大,也就是IOC,大概意思就是将创建对象的权力交给了Spring,这样可以简化我们的开发,降低代码之间的耦合性和侵入性。
  2. 声明式事务管理(基于切面和惯例),也就是AOP。

spring 零基础(我的Spring学习笔记只此一份)(1)

3、Spring的框架结构

spring 零基础(我的Spring学习笔记只此一份)(2)

下面我们正式开始学习,以上都是铺垫;

二、IOC容器

IOC也就是控制反转,什么叫控制反转呢?在以往创建对象的权力在我们程序猿手里,现在在Spring框架里我们把这个控制权交给框架来管理,这样的话,当我们想要用某个对象的时候,我们只需要从Spring的容器里面拿就好了,对象怎么创建的就被屏蔽了,我们不需要在意。想象一下,我们如果要创建一个有很多字段的user类的话,如果这个user有很多的字段(比如name,password,address......)我们手动创建起来就很麻烦,说不定要new很多东西,但是如果把创建对象的权力交给Spring框架的话,那么是不是就帮我们省略了具体的创建过程,拿来即用的感觉会很爽。

三、AOP

AOP(Aspect Oriented Programming)称为面向切面编程,在程序开发中主要用来解决一些系统层面上的 问题,比如日志,事务,权限等待。 在不改变原有的逻辑的基础上,增加一些额外的功能。代理也是这个功能。 AOP可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。OOP引入封装、继承、多态等概念来建立一种对象层次结构,用于模拟公共行为的一个集合。不过OOP允许开发者定义纵向的 关系,但并不适合定义横向的关系,例如日志功能。日志代码往往横向地散布在所有对象层次中,而与它对 应的对象的核心功能毫无关系对于其他类型的代码,如安全性、异常处理和透明的持续性也都是如此,这种 散布在各处的无关的代码被称为横切(cross cutting),在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。AOP技术恰恰相反,它利用一种称为"横切"的技术,剖解开封装的对象内部,并将那些影响了多个类的公共行 为封装到一个可重用模块,并将其命名为"Aspect",即切面。所谓"切面",简单说就是那些与业务无关,却为业务模块所共同调用的逻辑或责任封装起来,便于减少系统的重复代码,降低模块之间的耦合度,并有利于未来的可操作性和可维护性。 使用"横切"技术,AOP把软件系统分为两个部分:核心关注点和横切关注点。业务处理的主要流程是核心关注 点,与之关系不大的部分是横切关注点。横切关注点的一个特点是,他们经常发生在核心关注点的多处,而各处基本相似,比如权限认证、日志、事物。AOP的作用在于分离系统中的各种关注点,将核心关注点和横切关注点分离开来。

原文链接:https://blog.csdn.net/weixin_42199020/article/details/109897970

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页