spring的长处 ioc aop「建议收藏」

spring的长处 ioc aop

大家好,又见面了,我是全栈君。

spring 的长处?
1.减少了组件之间的耦合性 ,实现了软件各层之间的解耦
2.能够使用easy提供的众多服务。如事务管理,消息服务等
3.容器提供单例模式支持
4.容器提供了AOP技术,利用它非常easy实现如权限拦截。执行期监控等功能
5.容器提供了众多的辅助类。能加快应用的开发
6.spring对于主流的应用框架提供了集成支持,如hibernate,JPA,Struts等
7.spring属于低侵入式设计,代码的污染极低
8.独立于各种应用server
9.spring的DI机制减少了业务对象替换的复杂性
10.Spring的高度开放性。并不强制应用全然依赖于Spring,开发人员能够自由选择spring的部分或所有

什么是DI机制?
依赖注入(Dependecy Injection)和控制反转(Inversion of Control)是同一个概念。详细的讲:当某个角色
须要另外一个角色协助的时候,在传统的程序设计过程中,通常由调用者来创建被调用者的实例。

但在spring中
创建被调用者的工作不再由调用者来完毕。因此称为控制反转。创建被调用者的工作由spring来完毕,然后注入调用者
因此也称为依赖注入。
spring以动态灵活的方式来管理对象 。 注入的两种方式,设置注入和构造注入。
设置注入的长处:直观,自然
构造注入的长处:能够在构造器中决定依赖关系的顺序。

什么是AOP?
面向切面编程(AOP)完好spring的依赖注入(DI),面向切面编程在spring中主要表现为两个方面
1.面向切面编程提供声明式事务管理
2.spring支持用户自己定义的切面

面向切面编程(aop)是对面向对象编程(oop)的补充。
面向对象编程将程序分解成各个层次的对象。面向切面编程将程序执行过程分解成各个切面。

AOP从程序执行角度考虑程序的结构。提取业务处理过程的切面,oop是静态的抽象。aop是动态的抽象,
是相应用运行过程中的步骤进行抽象。,从而获得步骤之间的逻辑划分。

aop框架具有的两个特征:
1.各个步骤之间的良好隔离性
2.源码无关性

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

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

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


相关推荐

  • macOS升级node

    macOS升级nodemacOS升级node1、安装node管理模块nnpminstall-gn2、安装需要升级的node版本sudon16.14.03、关闭终端重新打开,查看node版本验证升级完成node-v

    2025年5月27日
    0
  • Django(69)最好用的过滤器插件Django-filter

    Django(69)最好用的过滤器插件Django-filter前言如果需要满足前端各种筛选条件查询,我们使用drf自带的会比较麻烦,比如查询书名中包含“国”字,日期大于“2020-1-1”等等诸如此类的请求,Django-filter这个组件就是要解决这样的问

    2022年7月30日
    6
  • Java的常用开发工具

    Java的常用开发工具Java开发人员的常用工具java常用的开发工具。都说工欲善其事必先利其器,要想学好java这门语言,选择一款好用顺手的开发工具是必不可少的。另外面试java工作时开发工具的使用也是一个重要的考核点。要想全面了解java开发工具,我们首先需要先了解一下java程序的开发过程,通过这个过程我们能够了解到java开发都需要用到那些工具。首先我们先了解完整项目开发过程,如图所示:

    2022年5月11日
    44
  • LinkedHashMap和hashMap和TreeMap的区别「建议收藏」

    LinkedHashMap和hashMap和TreeMap的区别「建议收藏」区别:LinkedHashMap是继承于HashMap,是基于HashMap和双向链表来实现的。 HashMap无序;LinkedHashMap有序,可分为插入顺序和访问顺序两种。如果是访问顺序,那put和get操作已存在的Entry时,都会把Entry移动到双向链表的表尾(其实是先删除再插入)。 LinkedHashMap存取数据,还是跟HashMap一样使用的Entry[]的方式,双向…

    2022年10月30日
    0
  • pycharm如何缩进多行代码_pycharm整段代码缩进

    pycharm如何缩进多行代码_pycharm整段代码缩进pycharm多行代码缩进、左移在使用pycharm时,经常会需要多行代码同时缩进、左移,pycharm提供了快捷方式1、pycharm使多行代码同时缩进鼠标选中多行代码后,按下Tab键,一次缩进四个字符2、pycharm使多行代码同时左移鼠标选中多行代码后,同时按住shift+Tab键,一次左移四个字符…

    2022年8月25日
    0
  • Nginx工作原理和优化总结。「建议收藏」

    NGINX以高性能的负载均衡器,缓存,和web服务器闻名,驱动了全球超过40%最繁忙的网站。在大多数场景下,默认的NGINX和Linux设置可以很好的工作,但要达到最佳性能,有些时候必须做些调整。首先我们先了解其工作原理。1.Nginx的模块与工作原理Nginx由内核和模块组成,其中,内核的设计非常微小和简洁,完成的工作也非常简单,仅仅通过查找配置文件将客…

    2022年4月13日
    84

发表回复

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

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