Spring3学习笔记--spring概述

时间:2021-10-30 23:57:00

Spring 是什么?

Spring 是一个开源的轻量级 Java SE( Java 标准版本)/Java EE( Java 企业版本)开发应用框架,其目的是用于简化企业级应用程序开发。在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成的。所以开发一个应用除了要开发业务逻辑之外,最多的是关注使这些对象协作来完成所需功能的同时,实现低耦合、高内聚。所以,业务逻辑开发是不可避免的。如果有个框架可以帮我们来创建对象及管理这些对象之间的依赖关系,能通过配置方式来创建对象,管理对象之间依赖关系,我们不需要通过工厂和生成器来创建及管理对象之间的依赖关系,这样我们必然会减少许多工作量,加快开发。

Spring 框架除了帮我们管理对象及其依赖关系,还提供像通用日志记录、性能统计、安全控制、异常处理等面向切面的能力,可以帮我们管理最头疼的数据库事务,同时,它本身提供了一套简单的 JDBC 访问实现,能与第三方数据库访问框架集成(如 Hibernate、JPA ),与各种 Java EE 技术整合(如 Java Mail、任务调度等等),提供一套自己的 web 层框架 Spring MVC 、而且还能非常简单的与第三方 web 框架集成。

spring核心:

IOC容器:控制反转 (Inversion of Control)就是由容器控制程序之间的关系,而非传统实现中,由程序代码直接操控。

DI:称作依赖注入(Dependency Injection),和控制反转一个概念,具体的讲,当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常有调用者来创建被调用者的实例。但是在spring中创建被调用者将不再有调用者完成,因此叫控制反转。创建被调用对象有Spring来完成,在容器实例化对象的时候主动的将被调用者(或者说它的依赖对象)注入给调用对象,因此又叫依赖注入。

AOP: AOP 是 Aspect Oriented Programming 的缩写,意思是面向切面编程。从另一个角度来考虑程序结构以完善面向对象编程( OOP ),即可以通过在编译期间、装载期间或运行期间实现在不修改源代码的情况下给程序动态添加功能的一种技术。通俗点说就是把可重用的功能提取出来,然后将这些通用功能在合适的时候织入到应用程序中;比如安全,日志记录,这些都是通用的功能,我们可以把它们提取出来,然后在程序执行的合适地方植入这些代码并执行它们,从而完成需要的功能并复用了这些功能。