spring是什么意思_什么spring是孩子

spring是什么意思_什么spring是孩子Spring是什么?            Spring是一个开源的轻量级的Java开发框架。  2.Spring能帮我们做什么?          简化应用程序的开发。  3.简化应用程序开发体现在哪些方面?     ①IOC容器       Java思想是面向对象的开发,一个应用程序是由一组对象通过相互协作开发出的业务逻辑组成,那么如何管理这些对象,使他们高效地协作呢?抽象工厂、工…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

  1. Spring是什么?

            Spring是一个开源的轻量级的Java开发框架。

    2.Spring有什么作用?

            简化应用程序的开发。

    3.简化应用程序开发体现在哪些方面?

     ①IOC容器

       Java思想是面向对象的开发,一个应用程序是由一组对象通过相互协作开发出的业务逻辑组成,那么如何管理这些对象,使他们高效地协作呢?抽象工厂、工厂方法设计模式”可以帮我们创建对象,“生成器模式”帮我们处理对象间的依赖关系,不也能完成这些功能吗?可是这些又需要我们创建另一些工厂类、生成器类,我们又要而外管理这些类,增加了我们的负担。所以用另外的方式,如果对象需要的时候,就自动地生成对象,不用再去创建。举个例子:原来我们饿了,就出去吃饭,但是现在有了外卖之后,就可以订餐了,我们可以把我们的需求告诉美团,让他们给我们送饭。这里主导关系发生了变化,原来是我们自己,但是现在是美团。

        Spring提出了一种思想:就是由spring来负责控制对象的生命周期和对象间的关系。所有的类都会在spring容器中登记,告诉spring你是个什么东西,你需要什么东西,然后spring会在系统运行到适当的时候,把你要的东西主动给你,同时也把你交给其他需要你的东西。所有的类的创建、销毁都由 spring来控制,也就是说控制对象生存周期的不再是引用它的对象,而是spring。对于某个具体的对象而言,以前是它控制其他对象,现在是所有对象都被spring控制,所以这叫控制反转(IOC)。

    ② AOP       

        比如进行一个计算器的编写,需要实现加、减、乘、除四种简单的运算,编写四种不同的方法。还有另外的两个需求是在每种运算之前和运算之后需要打印日志进行记录,需要进行数字合规的校验。我们就得考虑如何能简单地实现呢?就是得把日志记录和数据校验等可重用的功能模块分离出来,然后在程序的执行的合适的地方动态地植入这些代码并执行。这样就简化了代码的书写,业务逻辑代码中没有参和通用逻辑的代码,业务模块更简洁,只包含核心业务代码。实现了业务逻辑和通用逻辑的代码分离,便于维护和升级,降低了业务逻辑和通用逻辑的耦合。

        有人会想到把这些通用的功能整合到一个方法中,去调用,这样也是避免不了重复调用,并且在业务逻辑中添加额外的代码。Spring通过配置的方式,而且不需要在业务逻辑代码中添加任何额外代码,就可以很好地实现上述功能。以上这种方式就是spring中实现的AOP:意思是面向切面编程,提供从另一个角度来考虑程序结构以完善面向对象编程(相对于OOP),即可以通过在编译期间、装载期间或运行期间实现在不修改源代码的情况下给程序动态添加功能的一种技术。通俗点说就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中;比如安全,日记记录,这些都是通用的功能,我们可以把它们提取出来,然后在程序执行的合适地方织入这些代码并执行它们,从而完成需要的功能并复用了这些功能。

    ③声明式事务

       通过编程的方式对事务进行管理,特别麻烦。在Spring中,我们可以从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活地进行事务的管理,提高开发效率和质量。

    ④粘合剂

       Spring是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力,从而使我们可以更自由的选择到底使用什么技术进行开发。

参考资料:https://blog.csdn.net/lp1052843207/article/details/51253071

        

      

        

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/231321.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信模拟地理位置_微信电脑版伪装地理位置的方法

    微信模拟地理位置_微信电脑版伪装地理位置的方法在早前的教程中,本站给大家介绍了使用微信伪装地理位置这款app进行微信位置伪装的方法,不过,不少网友都表示:这是一款涉及众多高危权限,包括读取短信和联系人等的App,不少网友都不是非常乐意。因此,今天小编就给大家再介绍一个方法,这个方法是使用Bluestacks这款安卓模拟器,有了它我们在电脑上也可以使用微信搜索附近的朋友,但经常有朋友说bs安装好微信,却不能定位,找不到附近的人,如图。其实这…

    2022年6月13日
    54
  • 静态变量存储在那个区? – 转[通俗易懂]

    静态变量存储在那个区? – 转[通俗易懂]一时间忘咯然后就去转载..静态变量存储在__区A全局区B堆C栈D常量区参考答案:A知识点内存到底分几个区?1、栈区(stack)—由编译器自动分配释放,存放函数的参数值,局部变量的值等。2、堆区(heap)—一般由程序员分配释放,若程序员不释放,程序结束时可能由os回收。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表。3、全局区(静态区)(static)—全局变量和静态变量的存储是放在一块的,初始化的全局变量和静态变量在一块区域…

    2022年6月14日
    43
  • linux关闭networkmanager服务_networkmanager是什么服务

    linux关闭networkmanager服务_networkmanager是什么服务systemctlstopNetworkManagersystemctldisableNetworkManager

    2022年9月27日
    0
  • java quartz_job.xml_java 使用quartz 定时xml 配置 与注解 以及注意事项

    java quartz_job.xml_java 使用quartz 定时xml 配置 与注解 以及注意事项xml配置实现:1.选择所需要的jar4.2.2.RELEASEorg.springframeworkspring-oxm${spring.version}org.springframeworkspring-jdbc${spring.version}org.springframeworkspring-webmvc${spring.version}org….

    2022年7月13日
    15
  • 五大常用算法之三:贪心算法

    一、基本概念:所谓贪心算法是指,在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,他所做出的仅是在某种意义上的局部最优解。贪心算法没有固定的算法框架,算法设计的关键

    2021年12月25日
    41
  • ×××lamp 环境

    ×××lamp 环境

    2021年8月17日
    67

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号