【10分钟学Spring】:(一)初识Spring框架
简介
Spring是一个轻量级的企业级的Java开发框架。主要是用来替代原来更加重量级的企业级Java技术,比如EJB(Enterprise JavaBean)、Java数据对象(Java Data Object)等。Spring的出现极大简化了Java开发。
另外Spring框架是一个一体化的框架,它不仅能无缝对接比如Struts、Hibernate等传统框架,也能很好地同其他各种企业级开发组件(比如Redis、MQ、Mybatis等)集成。
Spring发展到现在,已经不仅仅是一个开发框架了,而是一个生态。Spring框架本身提供了大量可集成到应用中组件,SpringBoot通过“约定优于配置的思想”进一步提高了开发效率,成为构建微服务应用的最佳选择,SpringCloud则提供了一套分布式工具组件,让构建分布式系统更加简单。
Spring就是要简化Java开发
Spring一直致力于简化Java开发使命中,为了降低Java开发的复杂性,Spring通过如下4种关键策略来简化Java开发:
- 基于POJO的轻量级和最小侵入性编程;
- 通过依赖注入和面向接口编程实现松耦合;
- 基于切面和惯例进行声明式编程;
- 通过切面和模板减少样板式代码。
Spring框架中的几个重要概念
依赖注入(DI)
对象之间的依赖关系,不再由对象自身来维护了。而是由spring负责管理了。依赖关系将会由spring负责自动注入到需要的对象中。
切面编程(AOP)
应用中的一些横切关注点,比如日志、安全、事务管理等,各个模块都需要的服务,不应该耦合在各个业务模块中来。应该单独抽离出来成为一个切面,实现解耦。Spring提供了AOP的支持,可以通过配置实现切面编程。
Ioc容器(ApplicationContext)
在基于Spring的应用中,你的所有Bean对象都存在于Spring容器中,容器负责创建和管理他们的整个生命周期。ApplicationContext应用上下文对象是Spring容器的一种实现。通过应用上下文对象我们可以获取应用中bean。
Spring模块概述
一图胜千言

可以看到spring其实包含了20多个不同的模块。
1、spring核心容器,包含四大模块,分别是Beans、Core、Context和SpEL。这是构成spring框架的核心组件。
2、再网上是AOP、Aspects切面编程相关组件,Instrunmentation是JVM添加代理,Messaging消息代理。
3、JDBC、ORM、JMS等数据访问组件。
4、Servlet、WebScoket等web层相关组件。
5、最后spring也提供了测试模块,可以集成Junit单元测试等。
推荐几个Spring学习途径
1、 当然优先是spring官网,查看官方文档学习

2、W3Cschool

3、CSDN或博客园等技术文章
【10分钟学Spring】:(一)初识Spring框架的更多相关文章
- 【10分钟学Spring】:@Profile、@Conditional实现条件化装配
根据不同的环境来装配不同的bean 企业级开发中,我们一般有多种环境,比如开发环境.测试环境.UAT环境和生产环境.而系统中有些配置是和环境强相关的,比如数据库相关的配置,与其他外部系统的集成等. 如 ...
- 【10分钟学Spring】:(二)一文搞懂spring依赖注入(DI)
Spring最基础的特性就是创建bean.管理bean之间的依赖关系.下面通过具体实例演示该如何装配我们应用中的bean. Spring提供了三种主要的装配机制 在xml中进行显示的配置 在Java中 ...
- 带你学够浪:Go语言基础系列 - 10分钟学方法和接口
文章每周持续更新,原创不易,「三连」让更多人看到是对我最大的肯定.可以微信搜索公众号「 后端技术学堂 」第一时间阅读(一般比博客早更新一到两篇) 对于一般的语言使用者来说 ,20% 的语言特性就能够满 ...
- 这是我见过最简单的博客文只有一张图,Python基础10分钟学完
- 10分钟了解 pandas - pandas官方文档译文 [原创]
10 Minutes to pandas 英文原文:https://pandas.pydata.org/pandas-docs/stable/10min.html 版本:pandas 0.23.4 采 ...
- 10分钟详解Spring全家桶7大知识点
Spring框架自2002年诞生以来一直备受开发者青睐,它包括SpringMVC.SpringBoot.Spring Cloud.Spring Cloud Dataflow等解决方案.有人亲切的称之为 ...
- 初识Spring Boot框架(二)之DIY一个Spring Boot的自动配置
在上篇博客初识Spring Boot框架中我们初步见识了SpringBoot的方便之处,很多小伙伴可能也会好奇这个Spring Boot是怎么实现自动配置的,那么今天我就带小伙伴我们自己来实现一个简单 ...
- 初识 Spring 框架
初识 Spring 框架可以帮助我们构建规范的.优秀的应用程序,简化烦琐的编码过程. Spring 是一个非常著名的轻量级的企业级开源框架,Spring 的目标是使 Java EE 更易用并促进良好的 ...
- 04 Spring:01.Spring框架简介&&02.程序间耦合&&03.Spring的 IOC 和 DI&&08.面向切面编程 AOP&&10.Spring中事务控制
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
随机推荐
- svn:"Update item to this version"、"Revert to this version"及"Revert changes from this version"详细说明
背景: 今天在svn分支上做了一些课题性研究,发现当前的环境版本不稳定, 和领导研究后决定还原到前面的版本以继续进行课题. 问题: 因此遇到了问题,是应该选择“Update item to this ...
- 「Usaco2005 Dec」清理牛棚(spfa秒杀线段树dp)
约翰的奶牛们从小娇生惯养,她们无法容忍牛棚里的任何脏东西. 约翰发现,如果要使这群有洁癖的奶牛满意,他不得不雇佣她们中的一些来清扫牛棚, 约翰的奶牛中有N(1≤N≤10000)头愿意通过清扫牛棚来挣一 ...
- C#同级catch块和finally块中全都抛出异常,上一级捕获哪一个?
C#同级catch块和finally块中全都抛出异常,上一级优先捕获finally块中的异常. 测试代码: using System; namespace test { class Program { ...
- python模块——psutil
import psutil 内存 mem = psutil.virtual_memory() print(mem) >>> svmem(total=17048064000, avai ...
- golang 服务诡异499、504网络故障排查
事故经过 排查 总结 事故经过 11-01 12:00 中午午饭期间,手机突然收到业务网关非200异常报警,平时也会有一些少量499或者网络抖动问题触发报警,但是很快就会恢复(目前配置的报警阈值是5% ...
- Mybatis中的别名的起源
1.Mybatis中的别名的起源 我们对别名的认识最初是在数据库中,例如:数据库之select时取别名的做法是这样的: select 列名 as 列别名,//方法1 列名 列别名,//方法2 from ...
- 安装&卸载Windows服务
使用.NET Framework的工具InstallUtil.exe. 安装服务 C:\Windows\Microsoft.NET\Framework\v4.0.30319\InstallUtil.e ...
- 基于R数据分析之常用Package讲解系列--1. data.table
利用data.table包变形数据 一. 基础概念 data.table 这种数据结构相较于R中本源的data.frame 在数据处理上有运算速度更快,内存运用更高效,可认为它是data.frame ...
- nyoj 263-精 挑 细 选 (sort(P, P+m, cmp); bool cmp(node a, node b)...)
263-精 挑 细 选 内存限制:64MB 时间限制:3000ms 特判: No 通过数:14 提交数:26 难度:1 题目描述: 小王是公司的仓库管理员,一天,他接到了这样一个任务:从仓库中找出一根 ...
- 力扣(LeetCode)整数形式的整数加法 个人题解
对于非负整数 X 而言,X 的数组形式是每位数字按从左到右的顺序形成的数组.例如,如果 X = 1231,那么其数组形式为 [1,2,3,1]. 给定非负整数 X 的数组形式 A,返回整数 X+K 的 ...