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. ssh 可以登录但是 sftp 不能登录的解决办法

    将 /etc/ssh/sshd_config 中的 Subsystem      sftp    /usr/libexec/openssh/sftp-server 改为 Subsystem       ...

  2. plsql tables 表存在,但是看不到所有的表信息

      1.情景展示 tables目录存在,但是看不到该数据库下的表信息. 2.解决方案 对比同事的发现,原来是选错用户了. 将用户切换为当前用户就行了,不知道什么时候搞成所有用户了. 写在最后 哪位大佬 ...

  3. python发送钉钉机器人脚本

    #!/usr/bin/python# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport os headers = {'Co ...

  4. Google Dremel架构

    Dremel 是Google 的“交互式”数据分析系统.Google开发了Dremel将处理时间缩短到秒级,作为MapReduce的有力补充.Apache推出Dremel的开源实现Drill,将Dre ...

  5. wordpress 本地环境安装

    1. 下载xmapp 2. 安装mysql 3. 启动xmapp的数据库与Apache,通常无法启动原因. mac的先关闭自己的数据库,系统偏好设置-MySQL Apache的端口默认是80,一般会被 ...

  6. jeecg数据库切换至mysql8.0方式

    1.修改pom.xml   mysql版本 <mysql.version>8.0.11</mysql.version> 2.修改dbconfig.properties文件 hi ...

  7. 从 SVN 迁移至 Git 并保留所有 commit 记录

    yum install -y git-svn 用户映射文件user.txt,等号左边为svn账号,右边为Git用户名和邮箱.注意:svn中有多少用户就要映射多少 test1=test1<1472 ...

  8. revit 碰撞检测相关

    Revit二次开发:由房间获取房间的墙     之前用的方法是由房间边界构成的Solid,计算与该Solid相交的Element,然后判断是否为墙.相对来说这个方法比较通用,可以检索出房间的楼板.窗户 ...

  9. Deploy a plain HTTP registry

    当docker pull a.b.com/ubuntu:14.04的时候,如果提示:“Docker x509 insecure registry”之类的,说这个registry不安全的,如果就是想在a ...

  10. ABP .NETCore更新数据库时一直连接的之前数据库

    使用Update-Database -Verbose更新数据库时,在appsettings.json配置文件中已修改为新的连接字符串,但是使用命令更新数据库时仍然连接的是之前的数据库. 后来把代码移至 ...