Spring简介

Spring丰富的功能的底层都依赖于它的两个核心特性:

1.依赖注入(dependency injection, DI):

每个对象负责管理与自己协作的对象(即它所依赖的对象)的引用,这会导致高度耦合和难以测试的代码。

解决办法:依赖注入,把对象的创建和管理交给第三方组件。

2.面向切面编程(aspect-oriented programming, AOP):

Spring所做的就是把这些业务方法使用少量的XML代码进行声明,从而达到分离的目的,

然后供各个核心业务使用(核心业务没有显示的调用,不知道它的存在)。

Spring模块:

1)Spring核心容器:管理bean和应用上下文,并提供一些企业服务。

2)AOP模块:提供面向切面的支持

3)Spring的DAO模块、JDBC模块、ORM模块:抽象了样板式代码,提供事务管理服务

4)Web和远程调用模块:自带强大的MVC框架,有助于在Web层提升应用的松耦合水平。

提供了多种与其他应用交互的远程调用方案。

转载于:https://www.cnblogs.com/Shadowplay/p/10074510.html

Spring使用笔记(一)Spring简介相关推荐

  1. Spring学习笔记 之 Spring<全>

    开始学习Spring全家桶 文章目录 1. IoC 定义 为什么叫控制反转? 实现 IoC 容器创建 bean 的两种⽅式 IoC DI 特殊字符的处理 Spring 中的bean创建类型 -- sc ...

  2. Spring 读书笔记-----使用Spring容器(一)

    Spring有两个核心接口:BeanFactory和ApplicationContext,其中ApplicationContext是BeanFactory的子接口.他们都可代表Spring容器,Spr ...

  3. Spring学习笔记之Spring Web Flow

    Spring Web Flow 是Spring MVC 的扩展,它支持开发基于流程的应用程序.它将流程的定义与实现流程行为的类和视图分离开来. 1.配置Web Flow 在Spring MVC上下文定 ...

  4. Spring学习笔记:Spring整合Mybatis(mybatis-spring.jar)(二:mybatis整合spring)

    http://blog.csdn.net/qq598535550/article/details/51703190 二.Spring整合mybatis其实是在mybatis的基础上实现Spring框架 ...

  5. spring学习笔记(spring概述和IOC)

    spring5 1.spring的概述 1.1.spring是什么 Spring 是于 2003 年兴起的一个轻量级的 Java 开发框架,它是为了解决企业应用开发的复杂性而创建的. Spring 的 ...

  6. spring学习笔记 -- day02 spring基础、IOC控制反转

    一:srping的介绍 1.spring的体系结构 2.spring资源 a.spring-framework-4.2.4.RELEASE:Spring Framework的官方发行包 b.sprin ...

  7. Spring读书笔记-----使用Spring容器(二)

    一.使用ApplicationContext 前面介绍了,我们一般不会使用BeanFactory实例作为Spring容器,而是使用ApplicationContext实例作为容器,它增强了BeanFa ...

  8. Spring Cloud 笔记

    文章目录 第⼀部分 微服务架构 第 1 节 互联⽹应⽤架构发展(回顾) 第 2 节 微服务架构体现的思想及优缺点 第 3 节 微服务架构中的⼀些概念 第⼆部分 Spring Cloud 综述 第 1 ...

  9. 【Spring】Spring学习笔记完整篇

    文章目录 Spring 1.简介 优点 组成 弊端 2.IOC 控制反转 控制什么? 谁来控制? 反转? 依赖注入DI? IOC和DI关系 IOC本质 3.hello spring Applicati ...

  10. spring学习笔记(一)创建对象的四种方式

    spring学习笔记(一)创建对象的四种方式 一.简介 ​ Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架. ​ 所谓IoC就是Iversion of Control,控制反 ...

最新文章

  1. SQL Server 2005 学习笔记系列文章
  2. 百度地图-省市县联动加载地图
  3. 性能更好的js动画实现方式——requestAnimationFrame
  4. 重塑APM标杆,博睿数据战略升级助力企业数字化转型
  5. ubuntu 文件服务器--samba的安装和配置
  6. linux 命令-全称
  7. 重置 Winsock:初始化计算机网络环境
  8. python3 json文件_Python3读写JSON文件
  9. 【盘点】python最常用的快捷键,一定要收藏!
  10. Dreamweaver简单网页——HTML+CSS小米官网首页的设计与实现
  11. easypoi 批量导出_浅谈easypoi快速实现excel批量导入
  12. Kotlin基础2(持续更新)
  13. 2019-9-2-C#命令行解析工具
  14. 微软终止支持Win7 但系统仍然可正常使用
  15. TDA8954TH功放板怎么样?
  16. C++ 泛型编程(五) 模版重载与特例化
  17. 【转】Ceph对象存储(rgw)的IPv6环境配置
  18. linux的mtr参数详解,linux mtr 命令详解
  19. Visual Studio 2022安装到非C盘完全指南
  20. PCB生产时“补偿”“开窗”是什么意思

热门文章

  1. Enterprise Library——企业库配置管理应用程序块
  2. mysql多实例(三种方法)
  3. 6700设置上网教程
  4. android 点击字体,图片背景效果一起变换Demo
  5. SpringBoot +RabbitMQ 做智能家居,居然如此简单!
  6. 为什么 wait 方法要在 synchronized 中调用?
  7. Java 异常处理中对于 finally 的一些思考
  8. 面试必问:如何访问 Redis 中的海量数据?
  9. 一条简单的 SQL 执行超过1000ms,纳尼?
  10. Java 线程的 wait 和 notify 的神坑