一直以来都对spring充满了好奇,但是对其中的术语实在是很难理解啊,什么控制反转,什么AOP都不知道什么意思,更不用说去理解他们内在的意义了。今天自己在eclipse玩了一些spring的小程序,大概叙述一下今天自己的一些小收获吧,可能有很多不对的地方,希望发现了错误的大牛们不吝赐教啊。

spring是面向接口的编程,它主要的优点在于通过接口定义服务,再使用具体的类实现具体的服务,使业务逻辑之间的耦合度降低。现在我的理解就是这样,他通过一个xml文件把具体服务的实现与服务接口关联起来,然后有系统去调用服务接口完成相应的业务,这大概就是所谓的控制反转吧,把定义好的类交给系统,有系统去调用实现相应的服务,好像还有点SOA的味道,我们可以把一个个的服务定义好,然后我们需要什么服务的时候调用什么服务就好了。在spring中,我们从xml文件中读出来的其实就是一个BeanFactory,xml文件中定义的也是一个一个的Bean元素,meigeBean都有自己对应的ID和class,当然还有很多其他属性,这儿我就不一一讲解,我就先说一下ID和Class,id是用来查找bean,所以在一个xml文件中,id号是唯一的。class就对应了一个服务的具体实现类。我们得到beanfactory通常有两种方法,一个是通过Resource文件解析,一个是通过ApplicationContext上下文得到。得到一个beanfactory后,我们就可以通过方法getBean(id)得到一个服务的具体实现类,然后通过其类方法调用实现具体的业务。

我的spring入门级理解相关推荐

  1. Spring深入理解之ComponentScan___@ComponentScan 详解

    Spring深入理解之ComponentScan 一.概述 ComponentScan顾名思义包扫描,底层其实就可以通过递归算法+反射将其装载成bean来实现的,实在开发过程中,Spring已经帮我们 ...

  2. 谈谈你对 Spring 的理解

    谈谈你对 Spring 的理解 Spring 是一个开源框架,为简化企业级应用开发而生. Spring 可以是使简单的 JavaBean 实现以前只有 EJB 才能实现的功能. Spring 是一个 ...

  3. Spring学习理解---后置处理器

    Spring学习理解之-后置处理器 spring后置处理器有几种?后置处理器的作用 后置处理器有两种: (1)bean的后置处理器:这种处理器会对容器中的bean进行后处理,对bean进行增强 (2) ...

  4. 抛开 Spring 去理解 IOC 思想:原来 IOC 容器这么简单

    很多小伙伴们看到标题可能就会想到抛开 Spring 就不会存在 IOC 思想了,其实不然在接下来的文章中就会讲述到. 很多小伙伴在理解 IOC 的时候通常会和 Spring 放到一起去学习,首先呢 S ...

  5. spring 概念理解(资料)

    一.Spring的IoC(Inversion of Control). 这是Spring中得有特点的一部份.IoC又被翻译成"控制反转",也不知道是谁翻译得这么别扭,感觉很深奥的词 ...

  6. ioc spring 上机案例_抛开Spring去理解IOC思想 - 原来IOC容器这么简单

    很多小伙伴们看到标题可能就会想到抛开Spring就不会存在IOC思想了,其实不然在接下来的文章中就会讲述到. 很多小伙伴在理解IOC的时候通常会和Spring放到一起去学习,首先呢Spring设计的非 ...

  7. 谈谈对 Spring 的理解

    认识 Spring 框架 Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP( ...

  8. Spring深入理解-Spring框架设计理念

    导语   Spring框架作为企业中最常用的框架,是为了降低企业级开发的复杂性,现在经过发展它可以做的事情也是越来越多了.但是尽管Spring家族的东西已经越来越多,越来越健全,但是它的核心理念是不变 ...

  9. 【Spring】Spring 深入理解注解及spring对注解的增强

    1.概述 深入理解注解及spring对注解的增强 2. 什么是注解? 代码中注释大家都熟悉吧,注释是给开发者看的,可以提升代码的可读性和可维护性,但是对于java编译器和虚拟机来说是没有意义的,编译之 ...

最新文章

  1. [云炬创业基础笔记]第一章创业环境测试7
  2. AI时代的全链路监控,阿里工程师怎么做?
  3. 用队列实现栈 AND 用栈实现队列
  4. Python实现最简单的神经网络(数字识别)
  5. Python——(Anaconda+PyCharm)Youki的Python环境配置笔记(Windows版本)(legacy)~
  6. 阿里巴巴Java开发手册v1.2.0版
  7. 周志华《机器学习》西瓜书第一章绪论第一部分
  8. PowerPC L2-Cache Sram
  9. PHP可以通过什么组件上传大文件
  10. “非常晚餐”第一期 “3D虚拟世界”是“黑客帝国”吗?
  11. 15.编写LED程序及反汇编工具
  12. Google 为造芯再掀“抢人大战”,英特尔 17 年老将加入
  13. 鸿蒙双系统怎么切换,苹果 Mac双系统如何切换?用Option键切换双系统的步骤分享...
  14. 适者生存还是强者生存
  15. matlab的se是个什么东西
  16. “StarRocks 极客营” 重磅来袭,和技术大牛一起推开数据库梦想之门!
  17. 中小型企业如何做好网络品牌推广?
  18. 谷歌大动作:最高优先级项目曝光,下一代AI搜索,剑指ChatGPT!
  19. 教师工资管理系统之随机产生教师详细信息
  20. 除了乔布斯,科技圈还有哪些大佬值得充信仰?

热门文章

  1. 图片存放在服务器还是数据库里的解释?
  2. 图书馆管理信息系统的用例图和类图
  3. 判断ip是内网还是外网, 判断请求来之pc还是mobile
  4. 线代 | 【提神醒脑】自用笔记串联三 —— 相似对角化 · 二次型 · 合同变换
  5. Vue mounted方法中使用data变量
  6. extjs json 数据的操作 自由操作服务器返回的json数据
  7. PM必备:简单、好用、免费的项目管理软件推荐
  8. Proteus 8 Source Code 字体设置问题 光标于选中的字不对应
  9. Bandit算法与推荐系统
  10. WPF写入剪切板时报异常