Spring 框架是 Java 应用最广的框架,它的成功来源于理念,而不是技术本身,它的理念包括 IoC (Inversion of Control,控制反转) 和 AOP(Aspect Oriented Programming,面向切面编程)

Spring 的框架结构

  • Data Access/Integration层包含有JDBC、ORM、OXM、JMS和Transaction模块。
  • Web层包含了Web、Web-Servlet、WebSocket、Web-Porlet模块。
  • AOP模块提供了一个符合AOP联盟标准的面向切面编程的实现。
  • Core Container(核心容器):包含有Beans、Core、Context和SpEL模块。
  • Test模块支持使用JUnit和TestNG对Spring组件进行测试。

Spring IoC 和 DI 简介

IoC:Inverse of Control(控制反转)

  • 读作“反转控制”,更好理解,不是什么技术,而是一种设计思想,就是将原本在程序中手动创建对象的控制权,交由Spring框架来管理。
  • 正控:若要使用某个对象,需要自己去负责对象的创建
  • 反控:若要使用某个对象,只需要从 Spring 容器中获取需要使用的对象,不关心对象的创建过程,也就是把创建对象的控制权反转给了Spring框架
  • 好莱坞法则:Don’t call me ,I’ll call you

参考: https://www.tianmaying.com/tutorial/spring-ioc

https://www.tianmaying.com/tutorial/spring-ioc

https://www.tianmaying.com/tutorial/cross-origin-rest-service

转载于:https://www.cnblogs.com/xiaohuizhenyoucai/p/10843863.html

Spring 学习教程(一): 认识 Spring 框架相关推荐

  1. Spring——Spring学习教程(详细)(上篇)——IOC、AOP

    本文是Spring的学习上篇,主要讲IOC和AOP. Spring的JDBCTemplete以及事务的知识,请见下篇. Spring--Spring学习教程(详细)(下篇)--JDBCTemplete ...

  2. 【Spring学习笔记 九】Spring声明式事务管理实现机制

    什么是事务?事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用,关乎数据准确性的地方我们一定要用到事务,防止业务逻辑出错. 什么是事务管理,事务管理对于企业应用而言至 ...

  3. Spring学习(九)Spring 和数据库编程【了解】

    本文借鉴:Spring学习,Spring框架总结 一.传统 JDBC 回顾 用一个大佬的demo来简单看一下 /*** 使用jdbc,根据id查询单个Student的信息*/ public class ...

  4. Spring学习(二)Spring IoC 和 DI 简介

    本文借鉴:Spring学习(特此感谢!) 一.IOC(控制反转) 定义:反转控制 (Inversion Of Control)的缩写,即创建对象的反转控制. 正向控制:若要使用某个对象,需要自己去负责 ...

  5. Spring学习(五)——Spring注解(一)

    ---恢复内容开始--- 概述 注释配置相对于 XML 配置具有很多的优势: 它可以充分利用 Java 的反射机制获取类结构信息,这些信息可以有效减少配置的工作.如使用 JPA 注释配置 ORM 映射 ...

  6. spring cloud教程之使用spring boot创建一个应用

    <7天学会spring cloud>第一天,熟悉spring boot,并使用spring boot创建一个应用. Spring Boot是Spring团队推出的新框架,它所使用的核心技术 ...

  7. Spring学习(十)Spring常见面试题汇总

    本文借鉴:Spring框架总结,Spring容器中Bean的生命周期,69道Spring面试题和答案 一.前言 此篇文章一是为了整合一下常见的面试题,二也是为了简单的归纳一些常见的知识点,萌新刚上路, ...

  8. Spring学习(三)Spring AOP 简介

    本文借鉴:Spring学习(特此感谢!) 一.简介 定义 aop就是面向切面编程,在数据库事务中切面编程被广泛使用. 在面向切面编程的思想里面,把功能分为核心业务功能,和周边功能. 核心业务:比如登陆 ...

  9. Python学习教程:Python自动化测试框架需要学习哪些?

    需要掌握学习Python自动化测试框架有哪些?常用的Python自动化测试框架有Robot Framework.Pytest.UnitTest/PyUnit.Behave.Lettuce.软件测试的自 ...

最新文章

  1. 一起学spring--我的第一个Spring程序,简单粗暴易懂
  2. C#语法浮点型字面量
  3. 超声波测距的数据应该如何显示到七针oled上_一文读懂京东方、TCL华星、三星显示和LGD之间的复杂关系...
  4. Facebook提出生成式实体链接、文档检索,大幅刷新SOTA!
  5. html中iframe子页面与父页面元素的访问以及js变量的访问
  6. 【Mybatis】mybatis的小细节
  7. 解决:‘webpack-dev-server‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件
  8. 使用Native API查询Windows硬盘分区系统设备名称
  9. android多媒体stagefright框架,Android多媒体框架下Stagefright的功能扩展.PDF
  10. 软件工程-软件测试和系统运维
  11. EMBER-网络安全恶意软件公开数据集,论文的翻译,自己的笔记
  12. html知识 笔记,HTML基础知识笔记
  13. java中的各种平均数
  14. thinkpadt410接口介绍_独家:ThinkPad T410与T400之细节对比
  15. PHP电商网站高并发的秘诀之电商秒杀活动
  16. python模拟点击下一页_Python使用selenium模拟点击,进入下一页(三)
  17. 阿里云服务器被攻击了
  18. 网友自制 MIUI 13 海报被疯传
  19. 设计模式之禅-抽象工厂模式
  20. 实现Photoshop液化工具箱中向前变形工具

热门文章

  1. ER TO SQL语句
  2. httpd2.2的配置文件常见设置
  3. 软工_个人博客作业3
  4. android——获取ImageView上面显示的图片bitmap对象
  5. 【每日scrum】NO.5
  6. 全局变量,extern和static以及命名空间的区别
  7. ComponentOne FlexGrid for WinForms 中文版快速入门(9)—过滤
  8. 网站应该更注重内部链接还是外部链接?
  9. 利用 Docker 搭建单机的 Cloudera CDH 以及使用实践
  10. WIN10系统 截图或者某些程序时屏幕会自动放大怎么办