认识Spring
Spring的核心是个轻量级的容器,它是实现IoC容器和非侵入的框架,并提供AOP概念的实现方式;提供对持久层、事务的支持,提供MVC Web框架的实现。
轻量级
轻量级是相对于重量级的容器(如EJB)来说的,Spring核心包不到1MB。
非侵入性
洗完让应用程序几乎感受不到框架的存在,减少应用程序从框架移植时的负担。增加可重用性。
容器
容器可以管理对象的生成,资源的取得,销毁等生命周期,甚至建立对象与对象之间的依赖关系。
IoC控制反转与DI依赖注入
IoC:从对象角度来说可以避免对象之间的耦合,从容器的角度来说可以避免应用程序因依赖于容器的功能,而从容器脱离。
DI:在配置文件中加以设置,Spring核心容器会自动根据配置,将依赖注入到指定的对象。
AOP
可以在不修改任何程序的情况下加入功能或者移除。
持久化
提供对持久层的整合,如对JDBC的使用加以封装和简化,提供程式事务与声明事务管理功能。
Web框架
提供Model 2框架的解决方案。轻松替换不同view层,将自己熟悉的框架与Spring结合使用。
控制反转
控制反转时为了解决依赖关系,通过接口声明,分别写出不同底层的实现,需要那个就调用那个实现,就可以完成对不同底层的切换,而不是修改整个代码。例如:
Business business = new Business();
//这里就完成了选择底层驱动,是floppy或者是USB,而源类中用的是IDeviceWriter,这个接口,所选的俩个驱动分别都实现了这个接口。并且复写了saveToDevice()方法。
business.setDeviceWriter(new FloppyWriter()or new UsbDiskWriter());
business.saveToDevice();
还可以用Business工厂方法和xml文件配置进行动态管理。
依赖注入
保留抽象接口,让组件依赖于抽象接口,当组件要与其他实际的对象发生依赖关系时,由抽象接口来注入依赖的实际对象。
分别有三种方法实现:
Type 1 IoC:
类实现接口,有较强的侵入性。降低重用性。
Type 2 IoC:
上面的例子就是这种方法,利用Setter形式。
Type 3 IoC:
利用构造方法实现。
分享到:
相关推荐
Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Springcloud学习笔记.md,Spring...
Spring学习笔记( spring视频笔记)
spring学习笔记
### Spring学习笔记(精华全记录) #### Spring框架概述 Spring框架源自Rod Johnson的个人项目,最初于2002年末发布。Spring并非一开始就作为一个完整的框架出现,而是从一个项目逐步发展而来。随着项目的成熟,...
本资料“Spring学习笔记&源码”是基于网易云课堂黑马程序员的Spring四天精通课程,旨在帮助学习者深入理解和实践Spring框架。 笔记部分可能会涵盖以下内容: 1. **Spring概述**:介绍Spring框架的历史、特点和主要...
根据提供的压缩包文件名,我们可以推测这是一个逐步学习Spring的系列笔记。从"Spring_day1"开始,可能涵盖了Spring的基础概念、环境搭建和基本配置。"Spring_day2"可能涉及了依赖注入和AOP的深入讲解。"Spring_day3...
这份"Spring学习笔记+学习源码.zip"资源包含了深入学习Spring及其相关技术的知识点,以及实践代码,对提升Spring技能将大有裨益。 首先,我们来详细讨论Spring框架的主要组件和功能: 1. **依赖注入(Dependency ...
Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc
这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...
这篇"Spring学习笔记之一“why spring”"可能探讨了为何开发者会选择Spring作为他们的技术栈。让我们深入了解一下Spring框架的核心优势和特性。 首先,Spring是轻量级的。尽管它提供了众多功能,但核心容器(如IoC...
在"springsecurity学习笔记"中,你可能会涉及以下主题: - Spring Security的基本配置,包括web安全配置和全局安全配置。 - 如何自定义认证和授权流程,比如实现自定义的AuthenticationProvider和...
Spring Cloud构建于Spring Boot之上,利用Spring Boot的开发便利性简化了分布式系统的开发。Spring Cloud的组件可帮助开发者快速搭建分布式系统中涉及的常见模式。 Spring Cloud的五大核心组件包括:Eureka、Ribbon...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **Spring** 是一个开源的、分层的企业级应用开发框架,旨在简化Java EE应用程序的开发。它的主要目标是提高开发效率,减少耦合度,并提供一种更为简洁的...
### Spring学习笔记知识点详解 #### 一、Spring框架概述 **1.1 什么是Spring** Spring框架是一个开源的轻量级应用框架,主要用于简化企业级应用程序的开发过程。它的核心特性在于提供了一种灵活的方式来组织和...
“Java Spring学习笔记”是一份宝贵的资源,专门为想要学习和掌握Java Spring框架的开发者而设计。这份学习笔记提供了详细而系统的教程和实践指南,帮助初学者快速入门,并带领已经有一定经验的开发者深入理解和应用...
Spring6学习笔记,师承老杜
"尚学堂Spring学习笔记" 本文档记录了尚学堂Spring学习笔记的重要知识点,涵盖了Spring配置文件的设置、普通属性的注入、自定义属性编辑器、公共属性的注入、Spring注解等内容。 一、Spring配置文件的设置 在...