1、Spring概述

Spring致力于J2EE应用的各种解决方案,而不仅仅专注于某一层的方案。

可以说,Spring是企业应用开发的一站式选择,他贯穿于表现层、业务层、持久层。

Spring并不想取代那些已有的框架,而是以高度的开放性与这些框架无缝整合。

Spring的两个目标:

1、让现有技术更易于使用

2、促进良好的编程习惯

2、Spring体系结构

体系结构分为7个部分

1、Spring Core

Spring Core 是Spring的核心,提供IOC和依赖注入特性

2、Spring Context

提供一种框架风格的方式来访问对象,有些像JNDI注册表。

他继承了Beans包的功能,同时增加了国际化、事件传播、资源装载,以及透明创建上下文

3、Spring AOP

通过配置管理,Spring AOP直接将面向方面编程功能集成到了Spring框架中

4、Spring DAO

提供JDBC的抽象层,可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码

5、Spring ORM

Spring框架插入了若干个ORM框架,从而提供了ORM对象关系工具,其中包括JDO、Hibernate和iBatis等,所有这些都遵从Spring的通用事务和DAO异常层次结构

6、Spring Web

建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,他支持与Jakaarta Struts的集成

7、Spring MVC

3、Spring架构

这三个核心组件构建起了整个Spring的骨骼架构。

如果没有这几个核心组件,就不可能有AOP、Web等上层的特性功能。

1、Bean组件

Bean组件是这三个核心组件的核心,他是Spring核心的主角。

Bean组件是Spring容器使用DI(依赖注入)管理所有组成应用系统的组件。

那为什么Bean组件在Spring中如此重要呢?

这是Spring框架的设计目标决定的,Spring为什么这么流行,我们使用Spring的原因是什么?

我们仔细想想就会发现,原来Spring解决了一个非常非常关键的问题,那就是让我们把对象之间的依赖关系用配置文件来管理,也就是我们在对象之间的依赖的时候我们不通过对象去创建对象了,他们之间的依赖关系改为用配置文件来管理了,这也就是他的依赖注入机制,而这个注入关系在一个叫IOC容器中管理。

在这个容器中,Spring通过将对象包装在Bean中而达到对这些对象的管理

2、Context组件

Context组件的作用是 发现每个Bean之间的关系,为他们之间建好这种关系并进行维护。所以可以把Context看做是一个Bean的关系集合。这个关系集合我们称之为IOC容器。

3、Core组件

Core组件是发现、建立和维护每个Bean之间关系需要的一系列工具,因此我们可以把Core组件想像成我们的until工具包。

Bean组件比作是一场演出的演员、

Context就是这场演出的舞台背景、

Core是演出的道具。

Spring概述学习笔记的更多相关文章

  1. 【转】Spring.NET学习笔记——目录

    目录 前言 Spring.NET学习笔记——前言 第一阶段:控制反转与依赖注入IoC&DI Spring.NET学习笔记1——控制反转(基础篇) Level 200 Spring.NET学习笔 ...

  2. Spring MVC 学习笔记一 HelloWorld

    Spring MVC 学习笔记一 HelloWorld Spring MVC 的使用可以按照以下步骤进行(使用Eclipse): 加入JAR包 在web.xml中配置DispatcherServlet ...

  3. SpringBoot + Spring Security 学习笔记(五)实现短信验证码+登录功能

    在 Spring Security 中基于表单的认证模式,默认就是密码帐号登录认证,那么对于短信验证码+登录的方式,Spring Security 没有现成的接口可以使用,所以需要自己的封装一个类似的 ...

  4. SpringBoot + Spring Security 学习笔记(三)实现图片验证码认证

    整体实现逻辑 前端在登录页面时,自动从后台获取最新的验证码图片 服务器接收获取生成验证码请求,生成验证码和对应的图片,图片响应回前端,验证码保存一份到服务器的 session 中 前端用户登录时携带当 ...

  5. spring揭密学习笔记

    spring揭密学习笔记 spring揭密学习笔记(1) --spring的由来 spring揭密学习笔记(2)-spring ioc容器:IOC的基本概念

  6. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  7. Spring MVC 学习笔记11 —— 后端返回json格式数据

    Spring MVC 学习笔记11 -- 后端返回json格式数据 我们常常听说json数据,首先,什么是json数据,总结起来,有以下几点: 1. JSON的全称是"JavaScript ...

  8. Spring MVC 学习笔记10 —— 实现简单的用户管理(4.3)用户登录显示全局异常信息

    </pre>Spring MVC 学习笔记10 -- 实现简单的用户管理(4.3)用户登录--显示全局异常信息<p></p><p></p>& ...

  9. Spring MVC 学习笔记9 —— 实现简单的用户管理(4)用户登录显示局部异常信息

    Spring MVC 学习笔记9 -- 实现简单的用户管理(4.2)用户登录--显示局部异常信息 第二部分:显示局部异常信息,而不是500错误页 1. 写一个方法,把UserException传进来. ...

随机推荐

  1. 【POJ1426】Find The Multiple

    本题传送门 本题知识点:深度优先搜索 | 宽度优先搜索 题意很简单,让我们找一个只有1和0组成的十位数是n的倍数的数. 这题一开始吓到我了--因为Output里说输出的长度最长不超过100位???那是 ...

  2. transient的

    1,transient的用途及使用方法1,用途 我们知道,当一个对象实现了Serilizable接口,这个对象就可以被序列化,我们不关心其内在的原理,只需要了解这个类实现了Serilizable接口, ...

  3. Mongoose 索引

    Mongoose 索引介绍 索引是对数据库表中一列或多列的值进行排序的一种结构,可以让我们查询数据库变得更 快(如果有些字段是用不着的就不要设置索引).MongoDB 的索引几乎与传统的关系型数据库一 ...

  4. Android Studio 点运行启用时,列表中不显示虚拟机,但是实际上在AVD Manager中已经添加了2个虚拟设备了

    Android Studio 点运行启用时,列表中不显示虚拟机,但是实际上在AVD Manager中已经添加了2个虚拟设备了 百度上找了一下方法, 情况出现:打开androidstudio,一直连接不 ...

  5. Linux kill、kill-15、kill-9区别

    进程状态转换图 kill和kill -9,两个命令在linux中都有杀死进程的效果,然而两命令的执行过程却大有不同,在程序中如果用错了,可能会造成莫名其妙的现象. 执行kill(不加 -* 默认kil ...

  6. docker swarm和compose 的使用(阿里)

    基本的docker使用参考:Docker 入门 到部署Web 程序- (阿里面试常用的docker命令和优点) 昨天去阿里面试 问我如果给你5台服务器 如何部署docker,我说一个个拷贝,面试官听了 ...

  7. 使用Sabaki和Leela Zero配置AI围棋对弈环境

    求 李昌镐儿童围棋课堂 的pdf. 一.下载Sabaki和Leela Zero最新版本 二.安装Sabaki 三.安装leela zero 四.Sabaki配置leela zero引擎 五.Sabak ...

  8. exception: TypeError: Cannot read property '_modulesNamespaceMap' of undefined at getModuleByNamespac

    用 Vue.extend 创造的组件构造器和组件,默认是不集成 store 和 router 的. 比如 main.js 中的这个,其实是挂载在根组件 vm 中.并不是注入到全局 Vue 中.所以你用 ...

  9. 图形化SQL JOIN

  10. Laravel 控制器 Controller

    一.控制器存在的意义 路由可以分发请求:路由中还可以引入 html 页面:我们可以在 route/web.php 中搞定一切了:但是如果把业务逻辑都写入到路由中:那路由将庞大的难以维护:于是控制器就有 ...