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. cocos Uniforms值的赋值

    cocos Uniforms值的赋值 举个void Renderer::drawBatchedTriangles()的渲染: //Start drawing verties in batch for( ...

  2. 设计模式概要 & 六原则一法则

    参考文章 http://blog.csdn.net/sinat_26342009/article/details/46419873 继承vs组合:http://www.cnblogs.com/feic ...

  3. leetcode 128. 最长连续子序列

    题目描述: 给定一个未排序的整数数组,找出最长连续序列的长度. 要求算法的时间复杂度为 O(n). 示例: 输入:[100, 4, 200, 1, 3, 2] 输出:4 即最长的连续序列为 [1,2, ...

  4. 站在BERT肩膀上的NLP新秀们(PART I)

    站在BERT肩膀上的NLP新秀们(PART I)

  5. 微信小程序 调用远程接口,给全局数组赋值

    关键是 let that = this 因为在onLoad 的 wx.request方法里, this指的是 wx.request 的上下文, 所以应该是在 onLoad 的时候定义 let that ...

  6. webpack的带表达式require和require.context()方法

    带表达式的 require 语句如果 require参数含有表达式(expressions),会创建一个上下文(context),因为在编译时(compile time)并不清楚具体是哪一个模块被导入 ...

  7. 用GEOquery从GEO数据库下载数据--转载

    https://www.plob.org/article/9969.html Gene Expression Omnibus database (GEO)是由NCBI负责维护的一个数据库,设计初衷是为 ...

  8. Go 汇编入门

    https://golang.org/doc/asm https://github.com/teh-cmc/go-internals/tree/master/chapter1_assembly_pri ...

  9. 字节顺序&字节对齐

    一.字节顺序的产生 在计算机中,数据是以字节为单位存放的,而c语言中只有char才是一个字节,其他如int,float都是大于一个字节,所以就存在将数据按怎样的顺序存放的问题.一般有大端序和小端序两种 ...

  10. 给kali的Metasploit下添加一个新的exploit

    转载:https://blog.csdn.net/SilverMagic/article/details/40978081 首先在/usr/share/metasploit-framework/mod ...